[404218]: / Code / All Qiskit ML Demos / 08 Quantum Kernel 11.789 Loss kkawchak.ipynb

Download this file

704 lines (703 with data), 140.7 kB

{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "38df9aa0",
   "metadata": {},
   "source": [
    "# Quantum Kernel Training for Machine Learning Applications\n",
    "\n",
    "In this tutorial, we will train a quantum kernel on a labeled dataset for a machine learning application. To illustrate the basic steps, we will use Quantum Kernel Alignment (QKA) for a binary classification task. QKA is a technique that iteratively adapts a parametrized quantum kernel to a dataset while converging to the maximum SVM margin. More information about QKA can be found in the preprint, [\"Covariant quantum kernels for data with group structure.\"](https://arxiv.org/abs/2105.03406)\n",
    "\n",
    "\n",
    "The entry point to training a quantum kernel is the `QuantumKernelTrainer` class. The basic steps are:\n",
    "\n",
    "1. Prepare the dataset\n",
    "2. Define the quantum feature map\n",
    "3. Set up an instance of `TrainableKernel` and `QuantumKernelTrainer` objects\n",
    "4. Use the `QuantumKernelTrainer.fit` method to train the kernel parameters on the dataset\n",
    "5. Pass the trained quantum kernel to a machine learning model"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ed6aafa9",
   "metadata": {},
   "source": [
    "### Import Local, External, and Qiskit Packages and define a callback class for our optimizer"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "id": "1a646351",
   "metadata": {},
   "outputs": [],
   "source": [
    "# External imports\n",
    "from pylab import cm\n",
    "from sklearn import metrics\n",
    "import numpy as np\n",
    "import matplotlib\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "# Qiskit imports\n",
    "from qiskit import QuantumCircuit\n",
    "from qiskit.circuit import ParameterVector\n",
    "from qiskit.visualization import circuit_drawer\n",
    "from qiskit.algorithms.optimizers import SPSA\n",
    "from qiskit.circuit.library import ZZFeatureMap, ZFeatureMap\n",
    "from qiskit_machine_learning.kernels import TrainableFidelityQuantumKernel\n",
    "from qiskit_machine_learning.kernels.algorithms import QuantumKernelTrainer\n",
    "from qiskit_machine_learning.algorithms import QSVC\n",
    "from qiskit_machine_learning.datasets import ad_hoc_data\n",
    "\n",
    "\n",
    "class QKTCallback:\n",
    "    \"\"\"Callback wrapper class.\"\"\"\n",
    "\n",
    "    def __init__(self) -> None:\n",
    "        self._data = [[] for i in range(5)]\n",
    "\n",
    "    def callback(self, x0, x1=None, x2=None, x3=None, x4=None):\n",
    "        \"\"\"\n",
    "        Args:\n",
    "            x0: number of function evaluations\n",
    "            x1: the parameters\n",
    "            x2: the function value\n",
    "            x3: the stepsize\n",
    "            x4: whether the step was accepted\n",
    "        \"\"\"\n",
    "        self._data[0].append(x0)\n",
    "        self._data[1].append(x1)\n",
    "        self._data[2].append(x2)\n",
    "        self._data[3].append(x3)\n",
    "        self._data[4].append(x4)\n",
    "\n",
    "    def get_callback_data(self):\n",
    "        return self._data\n",
    "\n",
    "    def clear_callback_data(self):\n",
    "        self._data = [[] for i in range(5)]"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "39535c04",
   "metadata": {},
   "source": [
    "### Prepare the Dataset\n",
    "\n",
    "In this guide, we will use Qiskit Machine Learning's `ad_hoc.py` dataset to demonstrate the kernel training process. See the documentation [here](https://qiskit.org/ecosystem/machine-learning/stubs/qiskit_machine_learning.datasets.ad_hoc_data.html)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "id": "2311cff1",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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blhkBE7xM9y8eVOvlAB99ov88iQAzJ07V2c+qaFTB+tDsQ9jx47VGshWpQ81atRA37598emnn2L37t148OABfv31V6U8s5iYGJWbGBX3s/wGw+pCPl2xnCnOC3NT3B8lJSXIzMw06/p2794tnmf9+/fXmd9p6HHp7u6O7t2746OPPsK2bdtw//59/O9//0OXLl3ENl999ZU4YYEmYWFhmDRpElauXInLly/j77//xnvvvSemKVy+fFlpogZrMuU+VPzeeOedd7QGsoB5vrv0ofjdXVRUpHe+rjXPNaKqMjiY3bp1q3j5yMXFBc8++6xePx06dBCXkZKSgosXLyotV3H0SZ9ZegRBEGctsVWKn0nfu/sV27Vr107ptTZt2oh3jhYWFlrk87du3VoscZSXl4fz58/rfI/iDUyaKOaF6rqJIDc3F2fOnNG5TEMveRnSBwD466+/DFp+ZZ6enhgxYgT27t0r/udaWlqKHTt2KLVTvLHPVPOa28rlQIlEgjZt2oi/63NelJeXKwVWlc8Lc6tXr57S1SfFagzmYOnj0tXVFf369cOuXbvQsmVL8Xn5jaj6CgsLw8KFC5UC2C1bthjVN1Mx5T40x/4xx/nZoEEDpWoq+pxr9+/fV/q/2dLnGlFVGRzMKo6q9u/fH4cOHdLr58iRI0pflPKpL+UURx+2bdumM99q9+7duHnzpqHdtyjFcknbtm1TurNUndu3b+N///uf2vcDshEVxe309ddfm6inmvn4+ChVqli9erXO91Tet+oo1gDVlb6wfPlyvW4cUCwRo097Q/pw+/ZtbN68Wecy9VGrVi2lqSIVb04BZDWO5X766SexgoUxDN025qR4XK9atUrnaH9iYqI4tauHh4dB1TJMpX///uLjb775xuCbFg1hyHFZWFio1/mmD3d3d/Tp00f8vfJxqS/FacarugxzMNU+NGT/HD9+XOcIN2C+81Px/4uVK1fqbL9y5Uoxr7d+/fp46qmnTNYXInMyKJi9d++eUrA1atQog1am2H716tVKXyZ9+vQR6yEWFhbigw8+0Lic4uJiTJ8+3aB1W0OfPn3QtGlTALJLW/LC9uoIgoC33npL/CJ78skn0bt3b5V2ivmV69evF3PrzGnixIni4yVLlqiMqitav369XoXBn3jiCfGxttGb9PR0vS9VKpaA0af+sL59qKiowOuvv652jnZF8oBLH4qpGJVr0Q4fPhwhISEAgMzMTPzrX//S+z/egoICtflxhm4bc5o0aZIYEJw4cQLff/+9xrYPHz5U+i4YOXKkXndQm9o777wj9jklJUVpIgdTUzwut23bplTruLLp06frDBhzcnL0vvFI23Gp72VqbcuwJlPtQ32/NwoLC/H666/rtUxznZ+K96Zs2rRJ5SqQomvXrmHevHlK77WVKzpEOhkyXdjixYvFael8fHyEwsJCg6Ybu3btmtL0tn/++afS6ytXrlSaJm/atGlCUVGRUpvMzEyhd+/eAiCbs17e1tTT2WqaA16RPtNS/vLLL0qfaeLEiUJ+fr5Sm7y8PJUpAn/77TeN633ppZfEds7OzsKcOXNU5sUWBNm0qLt37xaGDh0qPHz4UOfn0aS4uFh46qmnxHU2btxY7bSEa9asETw8PJT2i6ZDLCYmRny9Vq1awvbt21Xa7Nq1S6hfv76Ax3OK69rWKSkpYpugoCCdnzktLU3peJw+fbrKMZ2ZmSlOM6zYB3XTR86aNUt4+umnhaVLlwqZmZlq15mfny/MnDlTaf9dv35dpd0ff/whODs7i+369++vdgpduZMnTwoffPCBULNmTeHs2bMqr5eXlwteXl7i8o4cOaJ12xjKkOlsBUEQ3nzzTbG9i4uL8PXXX6tMP5ueni506NBBbOfr66vxvDT3VMaCIAjvv/++0nE9depU4cGDB2rbHj58WBg7dqyQmpqq8pqu743s7GylfRUdHS3k5OQotcnNzRUmTZqkclyq2/YrVqwQnnzySeG///2vxu1XXFwsfPXVV0rnQ3JyslIbT09P4fXXXxf27t2rcargo0ePCk888YS4jEmTJqm0sdZ0toJgmn24Y8cO8f0SiUT4/PPPhfLycqU26enpQufOnVX2z9ixY9Wuqyrnp76fWXEabm9vbyEhIUGlzbFjx4SQkBCxXaNGjVSOOTlDp2NesWKFzs9PZCyDgtm2bdsafVB269ZNXMaYMWNUXo+KilL6svH39xdefPFFYdKkSUK/fv0Ed3d3AYDQtGlT4Z133rH5YFYQBGHKlClKn8nHx0cYPHiwMGnSJGHIkCGCt7e30uvvvPOO1vXm5uYKHTt2VHpPjRo1hD59+ggTJkwQxo8fL/Tt21eoXbu2+LqmLyZ9HTlyROlLGYDQsWNHYfz48cKoUaOUvgiXLFmiM5i9c+eOULduXaV27dq1E0aNGiWMHj1aaNGihfh83759hdGjR+vc1hUVFUKjRo3EdoGBgcKYMWOE9957T5g+fbowffp0Yf369UrvGTNmjFIfgoKChMGDBwsTJ04UevfuLQbmPj4+wrfffqszmFX8Ty4kJEQYOnSoMHHiRGHs2LFCnz59VPZ1bGysxm3+/fffKwW0EolEaNGihTBy5Ehh8uTJwujRo4XevXurbEd1wawgCMKrr74qtvHy8hJefPFF4Z133hG3zbx58zT2RRdDg9lHjx4pBaoAhIYNGwqvvPKKMHHiRKFnz55Kn93FxUX49ddfNS7PEsFsWVmZMGjQIKU+u7m5Cd27dxdee+01YeLEiUJkZKQQFBQkvn7y5EmV5ejzvfHJJ58oradWrVpC//79hYkTJwoDBw4Uz0UXFxdh1apVOoNZxWU1btxYiIyMFMaPHy+MHz9eGDBggFCrVi2lNtHR0SrLqfwd1rVrV2HUqFHC5MmTheHDhyudswCEunXrCrdu3VJZjjWDWVPtQ8X/x+T/Hw0fPlwYP3680LVrV/HYbdCggfDZZ5/p9f+moeenvp85KytLePLJJ5X6GxoaKowaNUoYP368EBERofRHTI0aNYQDBw5oXB6DWbJFegezZ86cUToZ/vjjjyqt8Pvvv1c6aSqPUpaWlqqMUlb+adasmZCWlmby/8DMFcwKgiB8+umnYiCu6cfDw0OYP3++Xn0tLCwUJk2apPQfvrbl5uXl6bVcbfbt2ycEBgZqXI+Tk5O4HxSf1+TgwYNCnTp1tPZdPqqs77b+/fffVUaGFX8qf5k+evRI6NOnj9Y+NGzYUDhw4IDO/zw+//xznftC8T/QOXPm6Nzmu3fvFkJDQ/VebosWLdQGEIIgCFevXtW6//QJQjUxNJgVBNkodeU/XtX9BAUFCdu2bdO6LEsEs4Ig+4Np5syZOs9lQDbqnpaWprIMfY7l8vJylT+0Kv/UrFlT2LRpk85t/+uvvyoFK9p+nJychH/9619CaWmpynIq/yGm7efpp59W+9kFwbrBrCCYZh9mZWUJ7dq10/re5s2bC+fOndM7mDP0/DTkM2dlZQm9evXS+XlDQkJ0jgozmCVbpHedWcUbv4KCglRuTtLXiBEj8NZbb6GkpASPHj3Chg0b8Nprr4mvu7q6YuXKlRgzZgy+//57JCcn4+7du/D390dISAiioqIwfvx4ixUvN5WPPvoIo0ePxvLly7Fjxw5kZGTg4cOHqFmzJp544gn07dsXEydO1Hv2LE9PT3z//fd47733EB8fjz///BNXr15FdnY23NzcEBQUhNatW+OFF17Ayy+/bJJ6gd26dUNaWhq++eYbbNy4EZcvX0ZZWRnq16+Pbt26YfLkyejYsaPey3vuuedw7tw5LF68GL///rtYpzIoKAjt27fHqFGjDJ7HPDIyEseOHcM333yDAwcO4Pr16ygoKNCYc+rl5YX//e9/+Pnnn7Fq1SqcPHkSeXl5qFOnDp544gkMHz4cr732Gvz9/bF3716t654+fTqGDx+OP/74AwcPHsTZs2dx9epV5OXlwcnJCTVr1kR4eDh69eqFMWPG6DX7Vc+ePZGWlobExEQkJSXh0KFDyMrKQl5eHry8vFCvXj00a9YMnTp1Qv/+/ZUqBVTWpEkTnD59Gl9//TV27typVIDfGry9vfHLL7/gnXfewerVq7F3717cvn0bRUVFqFOnDlq2bInIyEiMHz/erBOkGMLJyQnz5s3DG2+8gZUrV+KPP/7ApUuXcP/+fbi4uCAgIAAtWrTA888/j5dffhkNGjSo0nqcnZ2xatUqvPTSS/j+++9x+PBh5OTkwN/fH40bN8aQIUMwfvx41K9fX+d89yNGjEBmZiZ27tyJ5ORknD59GleuXBEnr/Hz80NYWBi6dOmCMWPGaCxR9+DBA/z111/Yt28fjh49ivT0dNy5cwfFxcXw8vJCw4YN0b59ewwfPhyDBw9WulHKlphiH9arVw8HDx7E8uXLsX79eqSmpqKwsBABAQF46qmn8PLLLyM6OhpeXl44cuSIXv0y5/lZr149/Pnnn9i+fTt++eUXHDhwAFlZWSgrK0NAQADatm2LoUOHYtSoUUql84jshUTQ9L88EREREZGNs80/nYmIiIiI9MBgloiIiIjsFoNZIiIiIrJbDGaJiIiIyG4xmCUiIiIiu8VgloiIiIjslt51Zkk3qVSK27dvw8fHh3NaExE5GEEQkJ+fj/r165ulzq4gCCgvL0dFRYXJl01kC5ydneHi4mJwDMVg1oRu376NRo0aWbsbRERkRTdu3EDDhg1NtjxBEJCTk4OHDx+ipKTEZMslskXu7u6oWbMm/P399Q5qGcyakHyWrfT0dJPMuGVKDV+YbtLl3fxjocbXYgI7mHRdcVlHNb7Gz6WerXwOW2LMNq28PU29DRXp2p6mPOa1HSeAaT+nOT+XrXyO/Px8hIaGmvz7/86dO8jJyYGPjw/q1q1bpZErIlsnv/KQm5uLO3fuoLS0FIGBgXq9l8GsCcm/XHx8fODr62vl3iiTOLuZdHnaPp+biVOxta2Ln8vwZVvyc9gSY7Zp5c9o6m2obV2VmfKY17UuU35Oc34uW/ocAEwaaObm5iInJwdBQUGoWbOmyZZLZKt8fHyQk5ODrKwseHp6ws/PT+d7eAMYERGRjcrLy4OXlxcDWXIo/v7+8PLyQl5enl7tOTJLesk9+I3W19/1CjfZuhYVpml93a/TFJOtS9vnMuVn0sWUn8ncdO0fR1B5G1jyWLFXlbeRKY+jyudP5fPaXveXVCrFo0ePULduXWt3hcjivL29cf/+fUilUp03VHJkloiIyAaVl5dDEAR4eHhYuytEFufh4QGpVIry8nKdbRnMEhER2SCpVAoAZinzRWTr5Me9/DzQ2tbcnSEiIqKqY+UCckSGHPcOnzN7/fp1/Pjjj0hKSsK1a9eQn5+PunXrIjg4GD179kRUVBRatmxp7W4arXIOma4cTUfMkQXsJ5eODGfoOUCWZcr9Y84cWnPm/hJR1Th0MPvVV18hJiYGjx49Unr+5s2buHnzJg4cOIC8vDwsXrzYOh0kIiIiIq0cNpidO3cuPv74YwBAWFgYJk2ahA4dOsDPzw8PHjzAyZMnsWnTJuYqEREREdkwhwxm//zzTzGQHTNmDJYvXw5XV1elNs8//zz+7//+D6WlpdboIhEREZHFXb16FU2bNgUArFixAq+99pp1O6QHhwtmpVIp3nzzTQDA008/jR9//BEuLpo3g5ubaWeYshW6ckcrYy6p8Wwlt85ea26amqHnAJmWrtxTe8mhpepr37596NGjh/h7cnIyOnXqZL0OkUYOdw19586dSE9PBwB8+OGHWgNZIiIickyrVq1S+j0+Pt5ky549ezYkEgkrVZiIwwWzv/76KwBZyYfIyEjx+ezsbKSnpyM7O9taXSMiIiIbUFRUhA0bNgCQzUQFAAkJCSgpKbFmtywiODgYgiBAEAS7SDEAHDDN4NChQwBkO8vHxwc///wz4uLikJqaKraR3xD21ltvwd3d3eB1NHxhOiTOsvQEXspUxVJc9sVW0iOITMWQtANd3xGKr5dCd3F3sg+bNm1Cfn4+AGDJkiUYP348cnJy8Pvvv2PEiBFW7h1V5lAjs1KpFBcuXAAA1KlTB9OmTUN0dLRSIAsAFy9exPvvv49evXrh4cOHVugpERERWYs8paB169YYN24cnnrqKaXnybY4VDCbm5srTot29uxZLFmyBEFBQVizZg2ys7NRWFiIffv2ISIiAgBw8OBBjB8/XuPySkpKkJeXp/RDRERE9iszMxO7du0CAIwaNUrp3+3bt+PevXtVXvbKlSshkUgwZ84c8Tl57qziz9WrV8XXe/ToAYlEIt6Mlp6ejqlTpyI0NBReXl4q7TMzM7F06VKMGDECoaGhqFGjBtzd3dGgQQMMGTIEv/zyi9YpYq9evSr2Y+XKlSqvV873LS4uxn//+1+0a9cOPj4+8PHxQceOHfH111+jvLy8ytvKEA6VZqA4OUJxcTG8vLywZ88e8S8uAOjWrRt2796N5557DqdPn8amTZtw+PBhPPvssyrLi4uLUzogiQxx6ZIEj69iQShsrNrAuRgS97uW7RQRkYNbu3YtKioq4OTkhFdffRUAEB0djU8++QRlZWVYt24d3n77bav0bfPmzYiOjlaZ7EmuoqICDRs2VBus3r59G1u2bMGWLVvw448/YuPGjWI+cFXduXMH/fr1w6lTp5SeP3r0KI4ePYqdO3ciMTHR7DX7HSqY9fDwUPp94sSJSoGsnKenJ+bNmyfeIPbLL7+oDWZjYmLw3nvvib/n5eWhUaNGJu71PwzN7zQm19Fep6vVxZI5sto+96VLErRurXg8zlbbziV8hl4BrTG52cyJNZ4xpZ2suf1tqWSVIaW6LPmdwbJdjmf16tUAZCOiDRo0AAA0bdoUnTp1QnJyMuLj46sczA4dOhTPPPMMli5dimXLlgGQXSmuTL5eRdevX8eoUaPg5eWFjz/+GF27doWzszOOHj0qBqWCIAAAevXqhf79+6NVq1aoW7cu8vPzceXKFfzwww9ISUnBH3/8gSlTpqhUbDDUiy++iPPnz+Ptt9/GoEGDUKtWLfz999/49NNPkZaWht9//x0//PADJk+ebNR6dHGoYNbHx0fp9z59+mhs+/zzz8PFxQXl5eU4evSo2jbu7u5VukGMSD4iu2YNEK7m/8a0NGDUKAAVHqovEhGRWZw6dQpnzpwB8E9qgdyoUaOQnJyM48eP4/z582jevLnBy69ZsyZq1qyJgIAA8bmWLVvq9d6MjAzUr18fKSkpaNz4n6t5ioNtzs7O+PvvvxESEqLy/u7du2PcuHGYNWsW/v3vf2P16tX46KOPEBoaavDnkJOPvirW423Xrh369u2L5s2b486dO1i6dKnZg1mHypl1d3dH3bp1xd+1jaJ6eHigTp06AGBUfgyRNuHhQLt2qj/qAlwiImtJTwdOnND887h8u92T3+Dl6emJ4cOHK70WFRUlTqRkrRvBFixYoBTIViaRSNQGsoo++eQT1KlTB4IgYMuWLUb156233lIKZOVq1aqFcePGAZCNPOfm5hq1Hl0camQWAFq0aIG9e/cCkOWWaCN/nRMrEBGRo0pPB8LCdLe7eBEwYpDP6srLy/Hzzz8DAAYNGgRfX1+l12vVqoUBAwYgMTERa9euxfz5882eC6rIzc0NL730kkHvkUqlyMrKQn5+PsrKysTnGzZsiPv37+P06dNG9Sk6Olrja+3btwcgS33IyMhAmzZtjFqXNg4XpXXr1k0MZq9cuYK2bduqbZeXl4f79+8DUJ+7oi9dOWnaGJubpfh+R8mLrLx9md9mWbpyGatr3WUeZ5Zlyqlu1b1f23HqiDm0+qZFydvZqx07duDOnTsAVFMM5EaNGoXExETcvHkTe/bswfPPP2+x/oWGhqrc+6OOIAhYu3YtfvzxRxw+fBhFRUUa28rjnKpq1qyZxtdq1aolPs4388HhUGkGAJQuG2zatElju02bNomJ1F27djV7v4iIiGxZdU+LkqcO1K5dG/369VPbJjIyEjVr1lRqbyn+/v462xQXF2PgwIEYPXo09u7dqzWQBaDzdV28vLw0vqY4aq3rSrixHC6Ybd26Nfr37w8AWLduHf7880+VNllZWfjoo48AyIb15XkfREREVP3k5uaK+aMPHjyAm5ub2vqvHh4e4mRKGzdu1FgiyxycnZ11tpk3bx7+97//AZDd8JWQkIBLly6hoKAAFRUV4jS18kE6+aCdvXO4NAMAWLx4MVJSUvDw4UNERkbinXfewYABA+Dp6YkjR44gLi4ON2/eBAB8+umnRqUZEGmTpnDF0t0dkP8hm5UFtG0LuDQJAh5fVSooLMal66w7S0RkagkJCSguLjboPQUFBdi4cSNGjx5tpl4ZRhAELF++HIDsivLu3bs15vRmZ2dbsmtm55DBbFhYmDi/8p07d7BgwQIsWLBAqY1EIkFsbCw++OADo9ZlyRzZygzJk7XXurK2lINpyPaWV4mTp2WFhCjfDRweDgwYAADK5UyaD5mBS9fv2tTntmTNT2ux5rlpSfZUd1aROXNodZ1riv3Ky8vDisBAo9ZN1iFPGQgKCsIXX3yhs/3777+PmzdvIj4+vkrBrHz2LFPKzs5GVlYWAOCll17SGMgWFBTg77//Nvn6rckhg1kA6NKlC86dO4evvvoKiYmJyMjIQGlpKYKCgtCjRw+89dZbGm8OIzJWSIiAM2eKxRsmatSQAHBHdLTyaK1ceDiwdi3g7cW6s0REppSRkYHk5GQAsvtqXnnlFZ3vOXToEL788kvs3r0bt27dMvgKruKNXCUlJSapWa84day29Ifly5dbbJpZS3HYYBaQJXnPnj0bs2fPtnZXyAGFhPyTqyT/Iz0tDTh50kodIiLSQt0f2tqetxfx8fFi7uiIESP0es+IESPw5ZdfQiqVYs2aNfjwww8NWmdQUJD4+PLly1WagKGyunXrombNmnj48CHWrVuHd999VyVIPnr0KD7++GOj12VrHDqYJSLSqaICYSiGLyqQB2ekwx0CTH+JUF9CSYD2meGci/WaAplIX5XTonS1szfy6WsDAgL0rl7UqVMnBAUFITMzE6tXrzY4mO3UqZP4+N1330VsbCyCgoLE9IPg4GCDa9w7OTkhOjoa33zzDc6cOYMuXbrgvffeQ2hoKHJzc7Ft2zYsXboU3t7eqF+/Pi5evGjQ8m0Zg1krs2SuqrVYMqfSkjUfrbG9/1oxw67vPjWm7rKlvesVjjYoRJRLHt5Difh8tos7Esp9cQqaS9JUZqpj5dIlCcrTFuhs5xI+wyQBrTVzaI3ZZqbMobWnY9ZcQkNlEyJoKxXq42OfEyYkJyfj8uXLAIBhw4bpPQmCk5MThg0bhqVLl+LcuXM4fvy4OEmAPkJCQhAVFYWEhATs3LkTO3fuVHo9IyMDwcHBei9Pbt68eUhOTsapU6dw7NgxvPrqq0qv16pVC7/99hs++eQTBrNERNVdGxRiMu4B/SKB2FigZUsgNRX+c+diclISvkNdgwJaU9C3eL3WkVuiKrDHQFUfirViK09fq8vw4cOxdOlScTmGBLMAsGbNGjzzzDPYsGED/v77b+Tn50MqlRq0jMr8/PyQnJyML774AgkJCUhPT4eLiwsaNWqEgQMHYtq0aWjYsKFR67BFDGaJiCqrqECUSx7QLxKSzZv/qZkWEQHJli0QBg9G1I5dOF3uaZWUA3nxeiIyznfffYfvvvuuSu/t1auXUVfKXF1d8f777+P999/X2k4+a6m+vLy88NFHH4n18g1dZnBwsNbPpe+9Rj169LDYlUQGs0Q2RNNMOtVlhh174ZScjFrlJbIR2cqXHZ2cIImNRa2kJISiBBfBUVAiImtiMGsGN/9YCF9fX7Wv2UpOmalZsi+KOWvmzJG1xvZdu9biqzSYI9SVlTyu1YiWLdU3ePy8L/SbotGQmqn2rLp+LkXMoSWyPQxmiWyAIAh6zT5jzzd/2RNBXvg+NRWIiFBtkJoKAMiD7ukliYjIvPS7bY+IzE4+Z7a2H7IMaefOyHZxhzB3LlD5hgypFMK8ech2cUc6jC90TkRExuHILNkvG6v/SdWIszMSyn0xOSkJwuDBkChUMxDmzQOSkpCAulY73qpr8XoioqpgMGtmtpoja8l6rMZSl5PmlJgI15gYvIc74nNVqf9ZmSPk/NkSW84/PAUvfIe6iNqxC7WSksTnc1zckWCFslyA/sXr4aw7ZaUqbHl/KbJkXrfiuoSKUoutl4j+wWCW7I5TYiLcoqOByEhg/XqbqP9J1dMpeOF0uSdCUfLPFYBy610BCAkR4BI+gzOAEREpYDBL9qWiAq4xMUBkJCSJiTZX/5OqHwESmyq/xUCViEgZg1kziAnsADcT3Fun65K3rktp5rwEqK1vxl7i09Zvp+RkOF27JhuRNUH9T2PSCgz9nLZ6SZaoqmwl7cARysURkWasZkB2xdT1P4mIiMi+MZglu6JU/1Md1v8kIiJyKAxmya6w/icREREpYs6slZkz91SRsaW4zFmySleeXeW+t4Fl6n+aOg/PVvILbZktbSPFY97UpewUl2fouVV5m9hSvqhiX8y572zpMxOR9TGYJbtji/U/iYiIyDoYzJJdsrX6n0RERGQdDGbJbtla/U8iIiKyPAazFmat+qzWZGi/zDnVrrG1e4mIiMi2sJoBEREREdktBrNEREREZLeYZkBEVhPSOADeXprzniUSCQRBsGCPiIhIIpHdTD1r1izMnj3bup3RA4NZM4jLOgpfX1+1r9lqTqYp68jaU44s6WauYzakcQDOb16gs13zITNw6fpdANbLC698HJnymK28rOpSd9acNYN1LctWtgHZj71796Jnz54aX69Rowbq16+PZ599FuPGjUOvXr0s2DvShWkGRGQV8hHZ6GigXTvVn+ho5XZERNby6NEjpKenY82aNXj++ecxduxYVFRUVHl5K1euhEQigUQiwdWrV03XUQfFkVkisqq0NODkSWv3gohI5s0338S//vUv8XdBEJCdnY2UlBQsWrQId+/eRXx8PBo1aoS5c+dasafmY2/pXQxmyW5IIChPkgBOkmAJQkkAUKFldNS5GBL3u5brEBGRGQUEBKBly5Yqz3fv3h2DBw9G+/btUVxcjCVLluCTTz6Bm5ubFXpJihjMmpk5c7cMyUGz99zRNihElEseapWXiM9lu7gjodxXafpaQz8nc+u0u3RJgvI03XmtLuEzHCqgNWcOLRmPObVkLs2bN8fAgQPx22+/IT8/HxcuXEDr1q2t3S2Hx5xZsnltUIjJuAf/fi8AKSlAfj6QkgL/vr0xGffQBoXW7mK1lZ8v+3fNGuD4cdWfNWseN9Q2cktEVI00bdpUfFxSUqKlpaq9e/dCIpFg3LhxSsuT58/Kf/bu3Su+/tprr0EikSA4OBgAkJmZiQ8//BAtWrSAj4+PSvucnBysWLECo0aNQvPmzeHt7Q03NzcEBgaib9+++P7771FaWqq1n/J+qKtkUDnfVyqV4vvvv0enTp3g7++PGjVqoHXr1pg3bx4KCy3z/zNHZsmmSSAgyiUP6BcJyebNgNPjv78iIiDZsgXC4MGI2rELp8s9mXJgRuHhspuyiIgc3bVr18THjRs3tui6Dx06hEGDBuH+/fsa27Rt21apj3J37tzBzp07sXPnTnz77bfYtm0bAgMDjepPYWEh+vTpgz///FPp+bNnz+Ls2bPYsmULdu/ejRo1ahi1Hl0YzJJNC0WJLLUgNvafQFbOyQmS2FjUSkpCKEpwERwdtEfhGq7Qa3qeiMhaLly4gK1btwIAIiIiUK9ePYPe36FDB5w9exabN2/GRx99BADYsWMH6tevr9ROcfRXrqCgAMOHD0dxcTFiY2PxwgsvwMvLC2fPnkVQUJDYrqKiAs8++ywiIyPRtm1b1KtXD6WlpcjIyMCaNWuwfft2nDx5Eq+88orSiG5VTJo0CYcOHcLYsWMRFRWFwMBAXL9+HZ999hlSUlJw5MgRzJ07F3FxcUatRxcGs2bQ8IXpkDgzIVwTQ/ILffG49ImaZHzF56eu/A8qoqJ0Lo+5crajoLAYALB2rX7tbJmhudrmzLG11bqztoTbiLS5e/cuUlNTxd8FQcDDhw/FagZFRUXw8/PDokWLDF52jRo10LJlSxw7dkx8LiwsTEwh0ObBgwfw9vbGgQMH8PTTT4vPd+jQQand7t27ERoaqvL+Tp06ITo6GitWrMD48eOxb98+/Pnnn3j++ecN/hxyBw8exOrVqzFq1CjxuXbt2qF///545plnkJqaih9++AGffvopXFzMF3IymCWblgdn2YPUVCAiQrXB4y8cwchLJWR5l67fRfMhM7TWkS0oLBYnTCAiG1BRAezfD2RmAkFBQNeugLOztXtlUsuWLcOyZcvUvubk5IQ33ngD7777LsLCwizcM+CDDz5QCmTVURfIKho3bhyWLFmCU6dOITEx0ahg9sUXX1QKZOXc3d0xdepUvPHGG3jw4AHOnz9v1hvlGMySTUuHO7Jd3OE/dy4kW7YopxpIpRDi4iAEB0PaubP1OklVxkCVyI5s3AhMnw4oFvkPDgYWLgRefNFavbIoqVSK9evXw8PDAwsWLIC7u7tF1x8tn01GT4Ig4M6dO8jLy1O66atBgwY4deoUTp8+bbb+tG/fXnx85coVBrNUvRh6SdYpMRGIjoYwdCgkMTGy1ILUVAhxccDWrShbu7bajQzoousytalLsaVpWJym581F8XKwtaa2NQVLlspT3E7WvJxuzultjaWtL0xBeGzjRmDECCAyEli3Tvwexvz5suc3bKg2Ae2sWbNU7uIvKirCpUuXsHr1aixatAiLFy/GsWPHsGPHDnh5ealfkIl5e3vjiSee0KttUlISli1bhr/++gv58rI0ami7kUwfzZo10/harVq1xMfa+mAKDGbJ5kmHDkXp2rVwjYmBpFMn8XkhOBhla9dCOnSo9TpXzfn4yP5VcxVJmbPt57USURVVVMhGZCMjgcREpaoySEwEhg4F/u//gCFDqu3AgqenJ1q1aoXPPvsMoaGheP3113HgwAHMnz/fYrOA1axZU2cbQRAwadIk/Pjjj3ots6ioyKg+aQvknRSupBoz9a8+WGeW7IJ06FCUpKaiZPt2lK5ciZLt21Fy9iwDWTMLCRFw5kwxkpP/+XEJm63842ATJhA5nP37ZakFM2eqrSqDmBggI0PWzgFMmDBBHHX86aefLLZeZz3+UPjpp5/EQLZNmzZYuXIl0tLSkJeXh/LycgiCAEEQMHr0aAD2N22tJhyZJfvh7Axpt27W7oXDCQlR/rKTeF23Uk+IyCoyM2X/6qgqI7ar5pycnBAaGorDhw8jMzMTDx48QO3ata3dLQDADz/8AAAICQnBwYMH4enpqbZddna2Jbtldgxm7Ygt5ZiRZRlayqlye3ufzphMw55LUllyymDF84VT40JWtQDQWVUGCrVOq7vy8nK1j/UlkZhnkp9z584BAAYPHqwxkBUEASdOnDDL+q2FaQZERESkWdeusqoF8+cDUqnya1IpEBcHNG0qa+cACgsLcf78eQCyXNo6deoYvAwPj39KEho6Ja428sD60aNHGtts3rwZmdVsFJ3BLBEREWnm7Cwrv7V1q+xmr5QUID9f9u/QobLnP/+82t78Vdns2bPFG6f69u2rVy5rZYozdl2+fNlkfZPXmP3999/VphJcvnwZU6ZUv6sJTDMgIiIi7V58UVZ+a/p0QKGqDJo2rVZluQDVGcAAoLi4GOnp6YiPj8f27dsByEZX//3vf1dpHW3btoWHhweKi4vx8ccfw9XVFU2aNBErADRo0EBjmoA2Y8aMwfvvv4/bt2/jueeew4cffoiWLVuiuLgYu3fvxuLFi1FSUoJ27dpVq1QDBrM2jDmy1Ysh+9PU+YGKy7Pn/FmeE6ZlzRxaW647q+38q3z+KPY7Ly8PgYE65me2Zy++KCu/5cAzgMnVrVsXa9asQatWraq0Dh8fH7z99tv47LPPcOLECfTp00fp9T179qBHjx4GL3fatGn4448/sHPnTly8eBETJkxQet3T0xPx8fFISkpiMEtEREQOyNkZqEKQZe/c3NxQq1YttGjRAgMGDMC4cePg7+9v1DIXLFiA0NBQxMfH49y5c8jNzTW6Hqurq6s4YUJ8fDzOnz8PQRDQoEED9O7dG9OmTUOzZs2QlJRk1HpsjUSoLkXGbEBeXh78/Pzg0ioaEmc3o5dnSyMV1YU17zy25sisImNHZu1lG5LhbHnfWrKagTbazh/ZyGwgcnNz4evra/S6iouLkZGRgaZNmyrdMETkCAw5/nkDGBERERHZLaYZ2BBTjzoZMpJhydE6a46u2WqdTVsZdarOjNnG9pxnbAhbzqFV3AfWPF+0rbsUUo2vEZH5cGSWiIiIiOwWg1kiIiIislsMZomIiIjIbjFn1sJMmS9qyRxAU+bO2XJ9SVOqLp/LVvKKDWXKvMrKy2IOrflp+56ovP2Zc07k2DgyS0RERER2i8EsEREREdktphkQEZFJhDQOgLeX5uLmBYXFuHT9rtrXhJIAoELzey9dkiAkhHP8EJEqBrNmcPOPhVWa/cWWZn2y1zxJazI0R5Z5fvbL2Bxae6nLXJm2HNqQxgE4v3mBzmU0HzJDJaAVSgJQnqb9va1bAy7hMyBxv6u1Bi3Ac4vI0TCYJSIio8lHZKOjgTQ1sX14OLB2LdSP3D4ekV2zRtausrQ0YNQoaB25JSLHxWCWiIhMJi0NOHmyau8NDwfatTNtf4io+uMNYERERERktzgya2bWzN0yJI/Pkjmy9pIDaOh7dWEeH8kpHju6jjldr1vzfFJct0Qisdh6ddWqZg4tkWPhyCwRERER2S0Gs0RERERkt5hmYAYxgR3gZoW/E7SlFViz1Jaxl0ENuURo7DSjtjLdsKnZ6/SrhuwPa25va053a2vTQ6urRqDteUXqqiBoe17O0LSDymzpXCUiwzGYJSIik1m7VvvrBYXFqk86y54bNUrHwp3VvJeIHB6DWSIiMpogCCgu/ifY7DZOdRIETTOASdzvwiV8hvY6ss7FkLirnz2MiBwbg1kiIjIJQfhnutlTF64b9F4GqkRUVQxm7Yi9TElryRxZMj1OZUymYEzZO2MZmkfMUl6kzr59+9CjRw/x9+TkZHTq1Ml6HSKNWM2AiIiIqJJVq1Yp/R4fH2+yZc+ePRsSicSi9Zmr4urVq2I/V65cae3uaMRgloiIiEhBUVERNmzYAADw9vYGACQkJKCkpMSa3SINGMwSERERKdi0aRPy8/MBAEuWLAEA5OTk4Pfff7dmt0gD5szaEGNrU9prLdnqkp9WXT6HNVm7RqqpGFJ31pq5pZZkzzm0inieOwZ5SkHr1q0xbtw4/Oc//8Hff/+N+Ph4jBgxwsq9o8o4MktERET0WGZmJnbt2gUAGPW4+LH83+3bt+PevXtVXvbKlSshkUgwZ84c8Tl5Tqriz9WrV1XeW1FRgVWrViEyMhL169eHu7s7ateujS5duuCLL75AUVGR1nUfP34cEyZMQFhYGGrUqAEPDw80atQI7du3x5QpU7BlyxaliiQSiQRNmzYVfx83bpxKP2fPnl3lbWFKDGaJiIiIHlu7di0qKirg5OSEV199FQAQHR0NiUSCsrIyrFu3zuJ9un79Otq3b4/XXnsNSUlJyMzMRGlpKbKzs5GcnIzp06ejdevWuHjxotr3L1q0CB07dsRPP/2E9PR0FBYWoqSkBDdv3sSJEyewdOlSDBkyBI8ePbLwJzMNphkQERERPbZ69WoAQI8ePdCgQQMAQNOmTdGpUyckJycjPj4eb7/9dpWWPXToUDzzzDNYunQpli1bBgA4e/asSjv5egHgwYMH6NKlC27cuAF3d3dMmjQJ3bt3R3BwMAoKCrBz5058+eWXuHTpEvr3748TJ07Az89PfP+ZM2fwf//3f5BKpWjatCmmTp2KNm3aoFatWsjPz8fff/+NPXv2YPPmzUp9OHv2LG7fvo2+ffsCAObOnYshQ4YotQkICKjSdjA1BrMWZkxerC3l0jFH1rY/hyHHmS0dV2Q8Q/NDrcWecmgVsSZt9Xbq1CmcOXMGwD+pBXKjRo1CcnIyjh8/jvPnz6N58+YGL79mzZqoWbOmUhDYsmVLre95++23cePGDTRp0gR79uxRuvQPyILul156CV27dsWVK1fw2WefYd68eeLrGzZsgFQqRY0aNZCSkoJ69eopvb9r166YOHEicnNz4eXlpdQveSUHQBZg6+qrtTDNgIiIiAj/3Pjl6emJ4cOHK70WFRUFNzc3pXbmdvXqVfzyyy8AgK+//lolkJVr27YtpkyR/ZFWuR5sVlYWACAsLEwlkFXk5+cHJyf7DAvts9dEREREJlReXo6ff/4ZADBo0CD4+voqvV6rVi0MGDAAgCyvViqVmr1PSUlJqKiogJeXF/r376+1bbdu3QAAt2/fxvXr/0wnHRQUBAA4f/48jhw5Yr7OWhGDWSIiItIpOhpo1071Jzra2j0zjR07duDOnTsAVFMM5OTP37x5E3v27DF7n44dOwYAKCwshIuLi9rKB/KfyMhI8X3y0VgAGDlyJFxdXVFSUoLOnTtj0KBB+Pbbb5GamqpUvcCeMWfWDOKyjqr8RacPW8pdtNU8u8qMrc1L9qu65io6St3ZyqpDDm1eXh5WBAaarF+2Ji0NOHnS2r0wH3nqQO3atdGvXz+1bSIjI1GzZk08fPgQ8fHxeP75583ap7t371bpfYWFheLjZs2aYd26dZg0aRJycnKwdetWbN26FQBQp04d9OvXD6+//jq6du1qkj5bA4NZIiIicmi5ubnYsmULAFn1AHlurDYbN27E0qVLUaNGDbP1q6KiAoAs6DRkJLhybu3w4cPRu3dv/PLLL9ixYwf279+Pe/fu4f79+1izZg3WrFmDsWPH4qeffrLLvFkGs0REROTQEhISUFxcbNB7CgoKsHHjRowePdpMvZKNEgNAfn4+wsPD4ezsXOVl+fn54fXXX8frr78OAEhLS8PmzZvx1Vdf4fbt21i1ahXatm2LadOmmaTvlsRgloiIiByaPMUgKCgIX3zxhc7277//Pm7evIn4+PgqBbMSiUSvdm3btsXPP/+MkpISHDt2DM8++6zB69IkPDwc4eHhiI6ORnh4OB49eoSEhASlYFbfflobg1kzs5V8N3vJgdUH82SNYyvHJNkfQ/KUjT1PbSWHtjp9d5J6GRkZSE5OBiC7HP/KK6/ofM+hQ4fw5ZdfYvfu3bh165bSJAf68PDwEB+XlJTA3d1dbbtBgwbhgw8+gCAIWLx4sVlmH2vUqBHCwsJw8uRJ3L9/X2s/bZX9JUYQERGRxYWHA23bqv6E2/m9mPHx8eJd/SNGjNDrPfJ2UqkUa9asMXid8nJZAHD58mWN7Z566im89NJLAID169frHDXOyMhQCXgTExPx8OFDje+5ceMGLly4AEA117Z27dpi/rC2flobR2aJiIhIp7Vrrd0D85BPXxsQEKD3Hf2dOnVCUFAQMjMzsXr1anz44YcGrbNTp07i43fffRexsbEICgoSL+sHBwfDxUUWoi1btgzHjh3DlStXMH36dGzevBljxoxBixYt4O7ujgcPHuD06dPYvn07du/ejWHDhmHkyJHi8hcvXozo6GgMHDgQvXr1Qnh4OPz8/JCTk4Njx47hq6++QlFREQDgjTfeUOqni4sLOnTogOTkZPz0009o27Yt2rRpA1dXVwCy2ru1atUy6LObA4NZIiuTQEAoSuCLCuTBGelwhwD7yFMiIrJnycnJ4ojjsGHD9L6T38nJCcOGDcPSpUtx7tw5HD9+HO3bt9d7vSEhIYiKikJCQgJ27tyJnTt3Kr2ekZGB4OBgALKAMTk5GVFRUdi/fz/++usv/PXXXxqXra40aGFhIX799Vf8+uuvGj/PnDlzMHToUJXXYmJiMGjQIDx48ACvvvqq0muzZs3C7NmztX9YC2AwawYNX5gOibPush6mZi+5Xcx5/UcbFCLKJQ+1yv/JRcp2cUdCuS9OwUvLO5U54jat/Jltqe5sddkfxmxTXe81dBspfr/ZSw1asn2K09JWnr5Wl+HDh2Pp0qXicgwJZgFgzZo1eOaZZ7Bhwwb8/fffyM/P1zirWGBgIP766y8kJSVh3bp1SElJQVZWFsrKylCzZk2Ehobiueeew+DBg8WZwOTWrVuHrVu3Yu/evTh//jyysrJw//59eHh4oEmTJujWrRveeOMNtG7dWu26Bw4ciD///BNffvkljh49inv37qGsrMygz2puDGaJrKQNCjEZ94B+kUBsLNCyJZCaCv+5czE5KQnfoa5BAS0RERnmu+++w3fffVel9/bq1cuoGbRcXV3x/vvv4/3339f7PQMHDsTAgQMNWk9QUBAmTZqESZMmGdpFUc+ePdGzZ88qv9/cGMwSWYEEAqJc8oB+kZBs3gzIL21FRECyZQuEwYMRtWMXTpd7MuXAzJjmYZ+EkgCgwkNzA+diSNyrNnsSEdkXBrN2jJe77FcoSmSpBbGx/wSyck5OkMTGolZSEkJRgovQ8h82GcUR0jxstcyUMWkIx+OXonVr3eeFS/gMkwe02lIchIpSk66LiPTD0lxEVuAL2RSFaNlSfYPHz4vtyOTkaR7+/V4AUlKA/HwgJQX+fXtjMu6hDQp1L4SsIj9f9u+aNcDx46o/YqUkbSO3RFRtcGSWyAry8HhKwtRUICJCtUFqqnI7MimmeVQP4eFAu3bW7gURWRtHZomsIB3uyHZxhzB3LlD57lWpFMK8ech2cUc61M8KQ8aRp3lItKV5lJcgFLY74w0REclwZNaO2FK+m60wtkSPtbapAAkSyn0xOSkJwuDBsqDqcTUDYd48ICkJCajLUUEDGJK36pyQALz2ms40j6kr/4OKqCgT9M4+WbP8WeV12XJeMhFZF4NZIis5BS98h7qI2rELtZKSxOdzXNyRwLJcZiUEBsoe6EjzENsREZHNYjBLZEWn4IXT5Z7KpaHKWRrK3KSdO0PapAkk8+dDkpionGoglUKIi4MQHAxp585W6yMREemHwSyRlQmQsPyWpTk7oywuDm7R0RCGDoUkJuafNI+4OGDrVpStXQs48wY8W5amIfNA0/NEVD0xmLUhzIlVz5xTVzrKVJWWnP7TXkiHDkXp2rVwjYmBpFMn8XkhOBhla9dCqmaOckuw5ePdVnJop5y5AAAYNUr7e05smIGQEIHHP1E1x2CWiByWdOhQlAwaBKfkZEiysiAEBspSCzgia9NCQgScOVMs1ptVx8dH1o6Iqj8Gs0Tk2JydIe3Wzdq9IAMxUCUiOdaZfezDDz+ERCIRf/bu3WvtLhERERGRDhyZBXDq1Cl88cUXFllXdc3JNATz14zHmptkCrrORV3fV9bKodW1nsr90vU5+J1EZN8cfmRWKpXi9ddfR3l5OQICAqzdHSIiIiIygMMHs0uWLMHRo0fRrFkzTJgwwdrdISIiIiIDOHSawfXr1/Hxxx8DAL799lvs2bPHyj0icixCSQBQ8U+N3ZMnlSeLcMQ70itvExXOxZC437Vch4iIbJxDB7NTpkxBQUEBxo4di+7du5ssmL35x0L4+vrq1dacOWa2kldZXfPRrFlzszoQSgJQnrZA6Tl1E26dOVPsMAHtpUsSlW2ijkv4DIsEtIbWpdX2nWOtmrSA7u/Cyp+run5nEVVXDhvMJiQkYOvWrahVqxY+//xza3eHyPE8Hn1cswYIVxPnpKXJiuJrqyVa3cg/q65tonXklojIwThkMPvw4UNMmzYNAPCf//wHderUsXKPiBxXeDjQrp21e2FbuE2IiPTnkDeAffDBB8jKykLnzp150xdZncTJCWHdI/DMK4MR1j0CEieHPC2JiKxm7969SrXmK/94e3sjLCwMo0ePxu7du63dXarE4UZm9+/fj+XLl8PFxQXffvstJBKJ7jdpUFJSgpKSEvH3vLw8AEBMYAe4OdjfCcwxq5o2w/oiamEsajVtLD6XnXEdCdPn4dSmHeJztpL/TI7NmLq0uo5hW8o5V/wc/G4jAHj06BHS09ORnp6ONWvWYMyYMfjpp5/gXMWpr1euXIlx48YBADIyMhAcHGzC3pqWPE6aNWsWZs+ebd3OaOBQEVdpaSlef/11CIKAd999Fy1btjRqeXFxcfDz8xN/GjVqZKKekiNoM6wvJm9YBv+zp4CICMDbG4iIgP/ZU5i8YRnaDOtr7S4SETmcN998E2fPnhV/zpw5g7179yIuLk6sRx8fH49Zs2ZZuack51DB7Pz583HhwgU0btzYJAdhTEwMcnNzxZ8bN26YoJfkCCROTohaGAts3QrJ0KHA4cPAo0fA4cOy37duRdTnM5lyQERkYQEBAWjZsqX406pVK3Tv3h0zZszAnj174OEhuwFzyZIlKC0ttXJvCXCgNIMLFy4gLi4OAPDVV1+hRo0aRi/T3d0d7u7uRi/HVCx5Kbq6XnpT/FyGTj1syGXU0K4dZakFI6MAoVLZKUGAJC4OtVJSENq1Iy7uO2RQP+xNmobNpul5R6Brm+xbMQNt2+pXrsyS56q2dRlT1suaWLaLFDVv3hwDBw7Eb7/9hvz8fFy4cAGtW7e2drccnsMEs4sWLUJpaSmeeOIJFBYWYv369SptUlNTxce7d+9GVlYWAGDQoEEmCX6J5HyDHk+drHDMKXn8vNiuOnIuBvC41JQWPj4W6IuNkH9WbhMi29W0aVPxseJ9M/rYu3cvevbsqXF5cnv27EGPHj1Unk9MTMTatWtx+PBh3L17Fx4eHggJCcGgQYPw9ttvw9/fX+O6L168iK+++gp79uzBtWvXUFJSgjp16iAgIADt2rVD3759MXToUHGQLjg4GNeuXRPfP2fOHMyZM0dpmWPHjsXKlSsN2ALm4TDBrPyAu3LlCkaOHKmz/aeffio+zsjIYDBLJpWX+bjgfcuWshSDyh7nc4vtqiGJ+124hM/QWjP1xIYZDjNhAiCb7ezMmWKttXUdcVY0IluiGOA1btxYS0vTycnJwYgRI1QqKZSUlOD48eM4fvw4li5dis2bNyMiIkLl/b/++itGjRqlkhaRmZmJzMxMnD59GitWrMDZs2eNvp/IGhwmmCWyJen7jyA74zr8Z86U5cgqphpIJBBiYpBz5RrS9x+xWh8tQdcsVo4YtDniZyayFxcuXMDWrVsBABEREahXr55B7+/QoQPOnj2LzZs346OPPgIA7NixA/Xr11dqV3n0t3fv3jhx4gScnZ3x6quvYsCAAWjatCnKysrw119/4YsvvsDdu3cxYMAAnDx5Ek2aNBHff+fOHYwbNw6lpaUICAjA1KlTERERgTp16qCoqAiXLl3Cvn37kJiYqNSHnTt3orS0FK1atQIguzHuX//6l1IbbSPBluQwwezKlSt1DoXPnj1bHELXNMRvTcyJtW+V95+TkxMQPAjC5s2QzJ8vSy1o2RLCzJlAZCRqlJbii4JzJlm3vZYaMnQ6VVKlbZvZSj4twH1LtuPu3btKaYeCIODhw4dISUnBokWLUFRUBD8/PyxatMjgZdeoUQMtW7bEsWPHxOfCwsK0lub697//jRMnTqBmzZrYtWsX2rdvr/R6ly5dEB0djeeeew6ZmZmYOXMm1q5dK76elJSER48eAQD+/PNPlZHXTp06YcyYMfj666+Vng8LC1P6XX5jnC1ymGCWyNZIpVKUlpbCtW9fSAYNEp8XSktRVloKqVRqxd4RETmmZcuWYdmyZWpfc3JywhtvvIF3331XJdgzh4KCAnzzjewPvU8//VQlkJVr0qQJPv74Y/zrX//Cr7/+iu+//15Mj5Tf/+Pv7681GPX09DRx7y2HdX+IrEgqlaKkogIlJSUoLS2VTcRRUcFAlohsU1mZ9t+rOalUivXr12PZsmUG3/xVFfv27UNubi4AYMSIEVrbduvWDQBQVlaG48ePi88HBQUBkOXdbt682Uw9tS4Gs2R1QkkAhMLGGn+k+eFaXxdK7P+Of6lUigoGsURkywQB2L5daZIXbN+uWl7Qzs2aNQuCICj9FBYW4syZM3j//fdRUFCAxYsXo3fv3igsLDRrXxTTEYKCgrROuas46iofjQWAwYMHo2bNmgCAYcOGoVevXli0aBGOHz+OiooKs/bfUphmYGWWyoO11TxJoSQA5WkLjF6OS/gMnTcTGYr5mrbHmDrApErXNrSlnFpF1tz3Dlt3tqxMFrgOGfJP8Hr4sOz3zZuBfv0AV1fr9tGMPD090apVK3z22WcIDQ3F66+/jgMHDmD+/PmYO3eu2dZ7927V/l9TDLJr166NLVu2YOTIkbh16xb27NmDPXv2AAB8fX3x/PPPY/z48YiMjDRJn62BwayC2bNn2+y8w9XW47JMa9YA4WqmZt+2Dfj4Y82vp6U9rsmppbwTEREZydUVmDdP7SQvmD8fUMj7r+4mTJiAGTNmIDs7Gz/99JNZg1nFkdMTJ07AVc8/GBo2bKj0e9euXXHp0iX89ttv2LZtG/766y/cvHkTeXl52LRpEzZt2oS+ffti48aN8PLyMulnsAQGs2QTwsOBdu1Un5fPeKTpdSIishAdk7w4CicnJ4SGhuLw4cPIzMzEgwcPULt2bbOsS3G5devWVQlSDeHh4YHo6GhER0cDkNXQT0pKwldffYWLFy9ix44diI2NrVKVBmtjziwRKdGVw1wdcpSJqAo03Qlvo+WazKm8vFztY31JJBK92rVt21Z8nJycbPB6tGnatCmmTp2Ko0ePikFyQkKCSddhKRyZNYO4rKPw9fU1+3ocJleLTEpbzp++OczmyFEmmXe91OTTmIihOfq2lFOrbb22kkObl5eHwMC1WlrbsbIyIDZWOWcWACQSYOZM2evVOGdWUWFhIc6fPw9Alktbp04dg5fh4fFPapy2qgi9e/eGl5cXCgsLsWTJEkRFRekdCOvL19cXHTp0wM2bN3H//n21fS0uLrZI9Yaq4sgsEf1DIYf5+HHVnzVrlNsRkYNwdQUiI2U3eylWM9i8Wfa8gwSygOz+mqKiIgBA37594ezsbPAy5OWyAODy5csa29WsWRNTp04FABw8eBDvvvuu1qo3d+7cwfLly5We27FjBzIzMzW+Jzc3F0eOyGabVJx5rHJftfXT2jgyS0QqmKNMRCokElnVAsWbvcrKZM9XI5VnAAOA4uJipKenIz4+Htu3bwcgG7H897//XaV1tG3bVhzx/Pjjj+Hq6oomTZrIZoYE0KBBA3ESg3//+9/Yt28fDh8+jC+//BJ79+7FpEmT0KZNG9SoUQM5OTk4d+4cdu3ahf/9739o1aoVJk6cKK5r3bp1GDRoEF544QX06dMHLVu2RK1atZCfn4/U1FR8/fXXuHXrFgDgjTfeUOlrp06dkJGRgS1btuC7775D586dxZFlX19fBARYP/WMwSzZhDQNVz8zMrS/rul5IiIyg8ojsNVwRFbbDGBydevWxZo1a9CqVasqrcPHxwdvv/02PvvsM5w4cQJ9+vRRen3Pnj3o0aMHAMDd3R1//PEHXnvtNWzcuBGnT58WR2vVUZfmWFZWhm3btmHbtm0a3/fGG2/g7bffVnn+//7v/7BhwwaUlJSoBLtjx47FypUrtXxSy2Awa0McMgfWuRjA4/JaWuh6Xb4cc7KlPD1TUvwcJ09K0LmzFTvjIMyZF2vK9erKsTXkHHDI7zeqNtzc3FCrVi20aNECAwYMwLhx4+Dv72/UMhcsWIDQ0FDEx8fj3LlzyM3N1TiJgY+PD3777TccOHAAq1atwv79+3H79m0UFRXB19cXTz75JDp27IiBAweqBMaLFi3CCy+8gN27d+PMmTPIzMzEvXv34OzsjEaNGuG5557DxIkT0aVLF7XrbtOmDVJSUvDf//4XycnJuHPnjs3lzzKYJauSuN+FS/gMrTmYQkUNSJwfaV6IczFvRiIioirr0aMHBAvPZCaRSDBx4kSllABdunTpojHo1MTf31+pJFdVtG3bFj///HOV329uDGbJ6nQFotUrG4uIiIhMicEsWZ1QEqD97niOvFocc5SJiMheMJi1MOaNKWNdU9vi4yP71xZylO2JtXJgzU3X5zKkbq0pa9ZWl3x1IjINBrNkXQp1TcPV/L+ZlvY4sGJdU4sICRFw5kwx8vP/ea77uEp/bHCknIiIbAiDWbIJrGtqO0JClG+CkHhdt1JPiIiIdGMwS0RUDUmcnBDatSN8gwKQl3kX6fuPQNAycxARkb1iMGtmzJGtPiyZp2fqeqDGqPy5rXlMWytX0t5yYtsM64uohbGo1bSx+Fx2xnUkTJ+HU5t2mGw9lbeLMcch82CJqKqcrN0BIiIynTbD+mLyhmXwP3sKiIgAvL2BiAj4nz2FyRuWoc2wvtbuIhGRSTGYJSKqJiROTohaGAts3QrJ0KHA4cPAo0fA4cOy37duRdTnMyFx4lc/EVUfTDMwM1u6RGst2i4fyqdP1VXXdN+KGWjb1rKzs1iSsZexTXm5Vxdt+9PUx7ctp3bYotCuHWWpBSOjgMqzGQkCJHFxqJWSgtCuHXFx3yGTr19xG5rzGCQiUsRglqxK37qm8nZEpJlvUIDsQWqq+gaPnxfbERFVAwxmyarU1TWtzMdHtVwUEanKy3xc/7dlS1mKQWUtWyq3I7sgVB5lJ3IAhhz3DGbJ6hioEplG+v4jyM64Dv+ZM2U5sor/GUgkEGJikHPlGtL3H9G6HAkEhKIEvqhAHpyRDncIkJi386TC6XFuc0VFhZV7QmR58uPeSY8cfwazVCUso2M8c+ZoWjKHVpGxOeLMkTWOIJUiYfo8TN6wDEJiIiRxcbLUgpYtIcTEAJGRSBjxptZ6s21QiCiXPNQqLxGfy3ZxR0K5L07BS+++WOsYrE5cXV3h6uqKgoICeHt7W7s7RBaVn58vngO68JZWIqJq5NSmHfhuxJvIadUGSEkB8vOBlBTktHwa3414U2ud2TYoxGTcg3+/F5Te69+3NybjHtqg0HIfhCCRSODj44Pc3FwUFRVZuztEFlNUVIS8vDz4+PhAItF9VYgjs0RE1cypTTtwevMfBs0AJoGAKJc8oF8kJJs3A/JLexERkGzZAmHwYETt2IXT5Z5MObCgOnXqoKioCNevX4evry98fHzg7Oys13/wRPZEEARUVFQgPz8feXl5cHd3R506dfR6L4NZIqJqSJBKDSq/FYoSWWpBbOw/gayckxMksbGolZSEUJTgIjxM3FvSxNnZGY0aNcL9+/eRn5+Phw8fWrtLRGbl6uqKmjVrok6dOnB2dtbrPQxmSS3mxBrOlnMwrVX/k8eR/fDF45uMHlc8UPH4ebGdgZhDW3XOzs6oV68eAgICUFZWBqmWEXYie+bk5ARXV1eDrzwwmCUiIuTh8QhIaqpsGtzKHteoFduRxUkkEri5uVm7G0Q2hzeAERER0uGObBd3CHPnApVH/qRSCPPmIdvFHelwt04HiYg0YDBLdsXJyQnOzs561Z0jIv0JkCCh3BdISoIweLBSNQNh8GAgKQkJ5b68+YuIbI5E4NQiJpOXlwc/Pz9kZWXB19dXr/eYei57Tey9fmebYX0RtTBWNu/8Y9kZ15EwfZ7WUkOkylFzFW05p9mWmKrOrKGqw3GZl5eHwMBA5Obm6v1/ABEZj8NbZPPaDOuLyRuWwf/sKVkun7c3EBEB/7OnMHnDMrQZ1tfaXSSqNk7BC7Hl9fAF6mE56uAL1ENseT2zBrJERMbgDWBk0yROTohaGAts3ao8Pefhw5AMHQohMRFRn8/E6c1/aK2hSUT6EyBh+S0ishscmSWbFtq1I2o1bQzJ/PnK88wDgCBAEheHWk80QWjXjpBAQBiK8QweIQzFkKDqGTSmXBYRERGZD0dmrcxW63DaSn6hb1CA7MHjskAqHj/fOsgPr7ncMUmen7VyBokcma7vnOqQU0tE5sGRWbJpeZl3ZQ90FHJ/PvNvk8wnz7npiYiI7AuDWbJp6fuPIDvjOoSZM4HKM4JIJBBiYlBxJQPw85PNJ69wg5hkyxZg4EBEueTplSYgzk0fGWn0soiIiMgyGMySTROkUiRMnwdERkJITFQKMIXERCAyEs7/Nx2SmBjN88mXlyAUJeoWr0Q+N71E29z0ei6LiKqmKvnqrD9N5NiYM1uN2Ureq7FObdqB70a8Kaszm5IiPp9z5RpOjBiP3ps2AfHx6t9swHzy5p6b3pocMd+wuhz/jkRbvrq6/alv/WlHPP6JHAn/jCW7cGrTDsSG9MAXPV7B8pFv44seryA2tCfObNoua6DjBjF95pNXmpveyGURkWEMzVdn/WkikmMwS3ZDkEpxcd8hHFu/BRf3HYIglZp0PnnOTU9kHYbmq6vUnz58GHj0SKw/ja1bEfX5TEiYdkDkEHimk10z5XzynJueyDoMzVc3pP40EVV/zJm1I8wBVO8UvPAd6iJqxy7USkoSn89xcUcC6hpUG9aUy7Im5giSPTE0X13f+tPydoZ+d/L8IbIvDGapWjgFL5wu90QoSuCLCuTBGenl7lUaRTXlsohIN6V89YgI1QaV8tWV6k8fPqza/nHwK7YjomqNaQZUbcjnkz+GGrgID6OCT2OWxalwiQxjaL66PvWns69cQ/r+Ixb6BERkTRyZtWFMK7A/1poKl5dFyZ7J89UnP85Xl8TGykZXU1MhzJsny1dHXfGPSnn96ckblkFITIQkLk42etuyJYSYGCAyEgkj3oRQOTDWk7bvXp5rRLaHI7NEJsKpcImqTp6vnrNjF9CpE+DrC3TqhJwdu/Cdmnx1ef3pnFZtlM63nJZP47sRbyrVmSWi6o0js0QmIJYW6ve4tJD8juzHpYWEwYMRtWMXTpd7MveWSAND89VPbdqB05v/QGjXjvANCkBe5l2k7z9S5RFZIrJPDGZJKwkE5f9YwBuh1JGXFoK20kJJSQhFCS7CwzqdJLID8nx1vds/rj9NRI6LwawZNHxhOiTObgCA3IPfWLk3VWet/E97ZOmpcJm3p1vlbcQcdDIFbcdRKTgiTGQNzJkltZj/aRhOhUtERGQdDGZJhaFTSxKnwiUiIrIWBrOkwtCpJYlT4ZJjY21lIrIm5sySCkvnf+pizvxQU+ZRmnMqXObIGo85tObB3HoisjaOzJIK5n9W3Sl4Iba8Hr5APSxHHXyBeogtr8f/1KlaYm49EdkCBrOkgvmfxjHltLpEtoq59URkKxjMkgrmfxKRLsytJyJbwZxZG2bNHD9z5n9WZs18UGPWbc79wRxZ87PVfW8vbC23nogcF4NZ0sjQqSWJyHEo5dZHRKg2YG49EVkI0wxIK+Z/EpE6zK0nIlvBYJaIiAzG3HoishUSQRB4q6mJ5OXlwc/PDy6toiFxdgMA5B78xmLrt9U8PuZ/2he/TlOq/F5LHu+2zFbPRXOwVJ1ZW/0eUdzXpZBiBW4gNzcXvr6+VuwVkWNhziwREVUZc+uJyNoYzBIRkVHkufVERNbAYJaIlAglAUCFlsDEuRgS97uW6xDZHQkE5ZFacKSWiMyHObMmJM+ZzcrKsrt8KV05fraUr2ZMTmdlzPFU3p5CSQDK0xbofI9L+Ay9AlpH3b6OlDNbmaYc2hrxKyAdOtR6HbOAvLw8BAYGMmeWyMJYzYCI/vF4RHbNGuD4cdWfNWuU2xEpaoNCTMY9+Pd7Qam6gX/f3nCLjoZTYqK1u0hE1RDTDIhIRXg40K6dtXtB9kQCAVEueUC/SEg2b/5nituICEi2bIEwdChcZ85EyaBBgDMnUiAi02EwSwCsm0ZgyrQBc667ulwyt+T21rUue92mjpxGoEkoSmSpBbGx/wSyck5OkMTEQNKpE5ySkyHt1s06nSSiaolpBkREZDRfVMgetGypvsHj5yVZWRbqERE5CgazRERktDw8Th1ITVXf4PHzQmCghXpERI6CaQZEDi6kcQC8vR7f0FUchPIagKendftE9icd7pA2aQLJ/PmQJCYqpxpIpRDi4iAEB0PaubPV+khE1RODWTI5a+bAmlPlz2VP+Z6a9klI4wCc36y7FNe5c0BJCZBm4tRqe9mmjpoja2gufVliItyioyEMHQpJTIwstSA1FUJcHLB1K8rWrq12N38plbarKLViT4gcF4NZIgcmH5GNjlYfqIaHA2vXAqNHAydPKrzgXGyZDpJdkQ4ditK1a+H6+GYvOSE4GGVr11b7OrNEZB0MZokIaWmVgtVKXJp8B5dHmbJfOAMYaSEdOhQlgwbBKTkZkqwsCIGBstSCajYiS0S2g8Es2RxOp2qDPDIh8bpu7V6QvXB2ZvktIrIYBrNmEBPYAW4WKBRhydqwlsqDNfV0quZkL/me9sSWtml1yZO1pamobVV1zfMnchQMZsm2KEynGq4mlkhLA0aNAqdTJSIiIgAMZslGcTpVIiIi0geDWTsggYBQlMAXFciDM9LhDgESa3eLqhF1o+DaniciIrIVDGZtXBsUIsolTzbn+WPZLu5IKPc1KKfP2Ly5yrmLzDFTZUv5nvrun4JCWYmttWv1a2dptrRNbRVzYonI0TGYtWFtUIjJuAf0iwRiY8UC5P5z52JyUhK+Q12cgpe1u0l27NL1u2g+ZMY/M4CpUVBYjEvXWT2CiIhsE4NZGyWBgCiXPKBfJCSbN/8zNWREBCRbtkAYPBhRO3bhdLknUw7IKAxUiYjInjGYtVGhKJGlFsTGKs9xDgBOTpDExqJWUhJCUYKLqH539muaNtXU06kSERGRfWMwa6N8USF70LKl+gaPnxfb6aArv9bQvDuz5dA+niZ11Cj92tky5nuanuI2NfX2tNW6subMibVk7juPfyIyFwazNioPj6d+TE0FIiJUG6SmKrerJiTud+ESPoMzgBEREZFeGMzaqHS4I9vFHf5z50KyZYtyqoFUCmHePOS4uCO93N16nTQTBqpERESkL/PPuUpVIkCChHJfICkJwuDBQEoKkJ8PpKTIfk9KQkK5L2/+IiIiIocmEQRBsHYnqou8vDz4+fkhKysLvr6+atsYmpenrc6sOctyGZOnxxq0+jFnDqEj7IPqmjNr6hxZWz0WbCmH1lTbSKgoRfnZtcjNzdX4fwARmR7TDGzcKXjhdLmn8gxg5ZwBjIiIiAhgMGsXBEiqZfktIiIiImMxmHVwEicnhHbtCN+gAORl3kX6/iMQpFJrd4uIiIhILwxmzaDhC9MhcXYDoJoXZkg+nLlz+NoM64uohbGo1bSx+Fx2xnUkTJ9nVF1aXblwtprDZ2mmrJnKbWpfTJkXy31vOG4zouqF1QwcVJthfTF5wzL4nz0lq2Pr7Q1ERMD/7ClM3rAMbYb1tXYXiYiIiHRiMOuAJE5OiFoYC2zdCsnQocDhw8CjR8Dhw7Lft25F1OczIak8jS4RERGRjWFpLhOSl+ZyaRUtphkYwthLzfqmJYR1j8B7e9fLRmQPH1ZtEBEBpKTgix6v4OK+Q3otk5dNTYupGrrZU2kunh+6mXJ/WmsbsTQXkXVw6M0B+QYFyB48nhJXxePnxXZERERENorBrAPKy3w8XWzLluobPH5ebEdERERko1jNwAGl7z+C7Izr8J85U5Yjq5hpIpFAiIlBzpVrSN9/xGp9JPMSSgKACi21i52LIXHnHzNERGT7GMzaEGPzvHINyMtzcnICggdB2LwZkvnzZakFLVtCmDkTiIxEwvA3DKo3q5hvaGx+YOXcueqaI6iNOT+zUBKA8rQFOtu5hM9gQFtFzJE1nKN8TiIyPQazDkoqlaK0tBSufftCMmiQ+LxQWoqy0lKc2rTDir0js3o8IrtmDRCu5p6ntDRg1ChoH7klIiKyEQxmHZhUKkUJAKeSEkgkEgiCACln/3IY4eFAu3bW7gUREZFxHO4GsGPHjuHf//43+vTpg4YNG8Ld3R3e3t4ICwvDuHHjcODAAWt30eKkUikqKioYyBIREZHdcaiR2W7dumH//v0qz5eWliI9PR3p6elYuXIlxowZgx9++AFubobXirUmQ3LOdNV0NGXOn7G09ZV5dmQqlY95bXVnben8ICJydA4VzN6+fRsAUL9+fbz00kvo2rUrGjdujIqKCqSkpGDhwoW4desW4uPjUVZWhp9//tnKPSYiIiIibRwqmG3WrBnmz5+P4cOHw9nZWem1iIgIjB49Gp07d8bFixexbt06vPHGG+jWrZuVektEREREujhUMLt161atr9epUwcLFy7EoMd392/YsKFKwaxQ2Ahwdpf9wnqd9Jit1XZN03ClXNPzREREtsihgll99OzZU3x8+fLlKi2j4nIMgH/m5bbFep2G5pqact50U7KXmrQ2VdvVuRjA4/JberRzVMyLJSKyDwxmKykpKREfV05F0Ne+fYC3N+t1kgIbqu0qcb8Ll/AZNjVKTEREVFUMZivZt2+f+DhcXdShhzZtAF9fnc3IAdlKbVcGqkREVF04XJ1ZbaRSKRYs+OdScFRUlBV7Q0RERES6cGRWwaJFi3DkyBEAwIsvvoj27dtrbV9SUqKUlpCXl2fW/lmTrlxUW8mp1dUPW82pJdKEx7R1GfLdlpeXh8DAtWbsDRGpw5HZx/bt24cZM2YAAAICArBs2TKd74mLi4Ofn5/406hRI3N3k4iIiIgUMJgFcO7cOQwbNgzl5eXw8PDAr7/+ioCAAJ3vi4mJQW5urvhz48YNC/SWiIiIiOQcPs0gIyMDffr0QU5ODpydnbF+/Xq9a8u6u7vD3d1d5flTp/6pZkCkiLVdiYiITMuhg9nbt2+jd+/euH37NiQSCX766ScMGTLE6OV2717pCQeo16ktb89W8mkBK+YfsrYrmQlzao1nyHfUu16aq9yUQmqK7hCRgRw2mL1//z5eeOEFXLlyBQDw1VdfYcyYMSZZtvOTcZBwBjBSwNquRERE5uGQwWxubi769u2L8+fPAwAWLFiAKVNMN3oh8boBibObyZZH1QMDVSIiItNzuBvACgsLMXDgQJw4cQIAEBsbiw8//NDKvSIiIiKiqnCokdnS0lIMGzYMycnJAIBp06Zh7ty5Vu5V9Vc5Z8+WcmgrM6ZvzE0kW6R4TDvqMWrMea0tR5aIbINDBbMjR47Ezp07AQC9evXChAkTkJqaqrG9m5sbwsLCLNU9IiIiIjKQQwWzGzduFB/v3r0brVu31tq+SZMmuHr1qpl7RURERERV5VDBrKXc/GMhfH19rd0Ng1jy8qO9TI1rKKYokClUvqy9qNB0RYgrH6PV5bgz9juDqQRE9s2hgllBEKzdBSIiIiIyIYerZkBERERE1QeDWSIiIiKyWxKB195NJi8vD35+fhiHRnB7/HeCKfPdbIklc+3sNYfWGNUll9Gc7Om4MGdOpim/Y2zpuDPl/rVUTmwppFiBG8jNzbW7+yaI7BlHZomIiIjIbjGYJSIiIiK7xWCWiIiIiOwWc2ZNSF3OrCFMnV9rSJ6YPeXd2VOupKnYUi6jrbCl48CW6pRW1zx9bWxl+zNnlsg6ODJLRERERHaLwSwRERER2S0Gs0RERERktxxqOltbZ828L0PXrS0vz9BcRnvJBzV2/xiTy1h5m9rLNquubCVH05FwmxORJhyZJSIiIiK7xWCWiIiIiOwWg1kiIiIislusM2tCxtaZtWfVsbalJXP0jN1+jphDa8k6s/acr2kv56Y9b2M51pklsg7HiriIiIiIqFphMEtEREREdovBLBERERHZLebMmpA8ZzYrK0vMl6oOeWCGspccPV2sue+YQ6ubuXNmq8u5ayvnY3XZnpUpbt+8vDwEBgYyZ5bIwjgyS0RERER2i8EsEREREdktTmdrZoZc4qsul+Eqfw5buczpSDj9reGqy/lnTY6wDfl9RmR7ODJLRERERHaLwSwRERER2S0Gs0RERERkt1iay4TkpblcWkVD4uymto0x5YSqSz6aveSc2dL2NuU2qy75s8aW5rKl/WtKljy/uA2VsTQXkXVwZJaIiIiI7BaDWSIiIiKyWwxmiYiIiMhusc6shWnLV9SVA1g5j6u65qvZiuq6vVmDtnqxlxx0W8JtRlS9cGSWiIiIiOwWg1kiIiIislsMZomIiIjIbjFn1oboyl2snOuoK+/LVnI8mZ9mvMr70pTb1FFyaK15PlSXc8BWvlMMZak6zUJFqcnWQ0T648gsEREREdktBrNEREREZLcYzBIRERGR3WLOrB2pnKtlaF1aRabOfasuOYH2Stf+NGT/OEoOrSnx+Dc/a21jHv9Eto8js0RERERktxjMEhEREZHdYjBLRERERHaLObN2zNAcWkXM8TNc5W1myZqbxu4vbX11lGPBmP3nKNvImgzZxoaee4buP+bJEtkXjswSERERkd1iMEtEREREdovBLBE5looKOP31F57BI4ShGBII1u4REREZgTmzZnDzj4Xw9fVV+5o5c7GMyaG1J46Q/2nJz1F5e1Zed3WqO+uUmAjXmBg4XbuGiY+fy3ZxR0K5L8YWXrNq30zFkP1jzu8IUx/D5sxxtudjmog4MktEDsIpMRFu0dGQtG4NpKQA+flASgr8+/bGZNyDU2KitbtIRERVwGCWiKq/igq4xsQAkZGQJCYCERGAtzcQEQHJli3AwIFwnTkTqKiwdk+JiMhATDMwg5jADnB7/HeCNS/ZKi67uqYcVKbrkrkpVbXUkwQCQlECX1QgD85IhzsESKzSF0fhlJwMp2vXgPXrAadKf8M7OUESGwtJp05wSk6GtFs363Syiix5idwi6S8VFXBKTsbqfqNMdn5UxrQCouqFwSyRBbVBIaJc8lCrvER8Tp6zeQpeVuxZ9SbJypI9aNlSfYPHz4vtyCq05TTz/CAiTZhmQGQhbVCIybgH/34vqM3ZbINCa3ex2hICA2UPUlPVN3j8vNiOLE5XTjPPDyLShMEskQVIICDKJU+Ws7l5s9qczSiXPJaJMhNp586QNmkCYf58QCqt9KIUQlwcpMHBkHbubJ0OOjo9cpp5fhCRJkwzMDNduYu5WnLQ7DWvy9B+mzOf11ZyaENRIkstiI3VmLNZKykJoSjBRXiYrY/ViUGl6JydURYXB7foaAhDh0ISEyNLLUhNhRAXB2zdirK1awFnZzP3mtTRJ6dZ2/mh67y21+9SItIPg1kiC/DF47vkdeRsiu3I5KRDh6J07Vq4xsRA0qmT+LwQHIyytWshHTrUep1zcPrmNPP8ICJ1GMwSWUAeHo/4pabKLqFW9jhnU2xHZiEdOhQlgwbBKTkZkqwsCIGBstQCjshalVJOM88PIjIQc2aJLCAd7sh2cYcwd676nM1585Dt4o50uFung47E2RnSbt1QERUlK8PFQNbqpJ078/wgoiqTCILAjHoTycvLg5+fH8ahkVhn1hCWzPsydZ6qtfpmbD1Vc+bQVu6bvJoBBg6EJDb2n5zNefOApCR8h7pi+SFj+2XKOrOV+2Kr+YeOUku5Mkuee+acKneVVxOTnR/WOkaFilKUn12L3NxcjVOaE5HpMc2AyEJOwQvfoS6iduxCraQk8fkcF3ckKPxHTeSIeH4QUVUxmCWyoFPwwulyT+UZwMpNP8MRkT3i+UFEVcFglqoNc0wTaw4CJCy/RaQBzw8iMhSDWRuiqyZq5Rw0W81dNJZB9UMfq+o0sYbUoTW0X9rqzpqbOddtq8dhVY4be2TO7W3JfWnJ88FQiseOrRzfRKQZqxmQ3eM0sURERI6LwSzZNU4TS0RE5NgYzJJdk08TK9E2TWx5CUJRon4BRGRVEggIQzGewSOEoZh/eBKRwZgzawZxWUfFGoPmzAszZU1IW6YtF9KS08RW1xxM0s1R8nGNpW27qPsuNCTX3Zjay8bsL1vNESeif3Bkluya0jSx6nAaTCKbxFx3IjIVBrNk1zhNLJH9Ya47EZkSg1myawIkSCj3BZKSIAwerDTCIwweDCQlIaHc1ybrzRI5Kua6E5EpSQRB4J++JpKXlwc/Pz9kZWVpnJfbmBxaY3LGLMncOWXq8t+cEhPhGhMDp2vXxOf0qTOrjaHzv+vKyzNk35tzXxt6DBq6HeyFIbmQtpQja8vbW9+c2WfwCBNxX/aHp7e3auP8fMDXF6UrV6IiKsocXTWLvLw8BAYGIjc3V+P/AURkerwBjKoF6dChKBk0CMt8QjgNJpGNU8p1j4hQbfA4110IDLRgr4jIXjHNgKoPZ2dchAeOoQYuwoOBLJGN0ifXXRocDGnnztbpIBHZFQazRERkUfrkupfNnw84swoJEenGNAMzaPjCdEic3QCo5pBpyz+05bnKbYlizqA1cxkNXXflfc/9bV2WzD3Vtq/tJRdeHUPryio6BS98h7qI2rELtZKSxOdzXNyRgLoYO3Rolftl6rxwIrJtDGaJiMgqTsELp8s9EYoSlVz3sdbuHBHZDQazRERkNQIkuAgPa3eDiOwYg1kzM6R8Ey91Gc+Ul/Irv9eW948xxxnTHdQzJoXFUbeptUoPOur2JiIZ3gBGRERERHaLwSwRERER2S0Gs0RERERkt5gzawY3/1goTmVYOZfR0ClQ7ZEh04Qaq7puT2PzdZmrbVnmzNm0pelrTXl+GXrcmXIbm/KYV+xXKaRaWhKRuXBkloiIiIjsFoNZIiIiIrJbTDMghyCBoFyYHbLC7ERERGTfGMxambZ8uOqS/2lJKrmihWlwSkyEa0wMnK7dEZ/PdnFHQrkvTsFL72XbU91ZMhzPN1W6tok5c4VZO5aI9MU0A6rWnBIT4RYdDUnr1kBKCpCfD6SkwL9vb0zGPbRBobW7SEREREZgMEvVlpMghWtMDBAZCUliIhARAXh7AxERkGzZAgwciCiXPEggWLurREREVEVMM6Bqq0vBHThduwasXw84Vfq7zckJkthY1EpKQihKODc82QyJRDmXu02zxkq/FxQW49L1u3ovTygJACq0HN/OxZC46788IiJbw2DWhlmzhqqh+Wra8kctWXdWUVB5kexBy5bqGzx+3hcVVVq+PeXQKm5zUx9HisuzpZqouhizHcyVzymRSODhoRx4Hlk3W6Vd8yEz9ApohZIAlKct0NnOJXyGXgGtMZ9b1/lhzhxZc56bisvOy8vDisBAs62LiNRjMEvVVqaLp+xBaqosxaCy1FQAQB6cLdgrIt2io4E0NfFXeDiwdi3g7aXnlYTHI7Jr1sjeW1laGjBqFLSP3BIR2TgGs1RtHfCuB2mTJpDMny/LmVVMNZBKIcTFIcfFHenl7lbrI5E6aWnAyZOmW154ONCunemWR0RkS3gDGFVbUokTyuLigK1bIQwdqlTNQBg6FNi6FQnlvqw3S/anOAhCYWP1PyUB1u4dEZFFcWTWzEyZL2rNHFpdFPPdbCl31OezPzC0SQ8s3PUXGv3+u/i8EByMsrVrcerVGIv1xZicQF35udbKS67MVvqhji3lyBp7jpRfm4zyi5pf1zcHtjJzfqdYsm6sLX0HEZH5MZilai+xZjC2+DVGl4I72PbxKxACAyHt3BlwdgZguWCWyFTmzgXU3WfEHFgickQMZskhSCVO+MsnCBVRUdbuCpHRmjZVf0MXEZEjYjBL1YqumpqXLkkQEsJJEsi2aQpUqxrAqquMoO15IiJ7wmDWjtlqDq218jv1qanZujVw5kyxGNBW7psp81ptla7tbcrjyJZzaG3Z2rXaX5dK9VyQczGAx6kHWpzYMEPtH3n2ckzrypE19Lizle9SItIPg1mqPvSsqZmfb+F+EelJEAQ0HzJDcx3Z4iDkpE7GL7/otzyJ+124hM/QeLVi34oZ8PEBr1YQkV1jMEvVDmtqkj3TNrOXUAiUXzJsedqqGrRtyyCWiOwfg1kLq3z5yrf9HJPNm860A/10H7cAEq/ratet2Dd7ucRqauZMQ7Dkvjb2+LfU/q/KNnD0HFhTpxVoe7+tfI8SkWYMZq3o0iWJSedNJ6JqTs8cWHk7IiJH4NDB7LVr17BkyRIkJSXhxo0bcHd3x5NPPomoqChMmTIFXl5eZl2/PHeT86YTkT505cACMOhqDhFRdeCwwezvv/+OUaNGIS8vT3yusLAQx44dw7Fjx7B8+XIkJSUhJCTE7H1hjicR6YuBKhGRMocMZk+ePImXX34ZRUVF8Pb2RkxMDHr27ImioiKsX78eP/zwAy5evIiBAwfi2LFj8PHxsXaXq8SYvC9TlqyqTFcOrbEMySfUlmdszm1gLHNvQ0sxJofW1LmM5ty/trJ/dG0zWzrGK9O2DVnyjcixOWQwO23aNBQVFcHFxQU7d+7Ec889J77Wq1cvhIaG4oMPPsDFixexcOFCzJ4923qdJf0xn5CIiMjhOFwwe+TIEezfvx8AMGHCBKVAVm769OlYsWIF0tLS8OWXXyI2Nhaurq6W7ioZiPmEREREjsfJ2h2wtMTERPHxuHHj1LZxcnLCmDFjAAAPHz7Enj17LNE1MgGJ+11IvK5r/mEgS0REVK043MjsgQMHAAA1atRA+/btNbbr3r27+Dg5ORl9+vQxW58sUTPSVmvQqmOrU6Dacg5tZebchuY8lmz5uCTLYo4sEenL4YLZtMcRYkhICFxcNH/8Zs2aqbzH1OT3lTHHk4iIiKhqHCqYLS4uxv379wEADRs21NrW398fNWrUwKNHj3Djxg2z9CckRMCZM8VivdnKuo9bwBxPIiIiIi0cKpjNV4gavb29dbaXB7MFBQVqXy8pKUFJSYn4e25ursp6dAkIkP2o5S6bhF2o0HtxelOsr6uPUkhN34nHdPVFqCg127orM2S7mHObGMqa29DQY8lWWesYt6Xj216OaVvaZork3/2CIJirO0SkhkRwoLPuxo0baNy4MQBg9OjRiI+P19q+cePGuHHjBp588klcunRJ5fXZs2djzpw5ZukrERHZpxs3bui8+kdEpuNQI7MeHv+UbCot1f2XvXzU1dPTU+3rMTExeO+998TfHz58iCZNmuD69evw8/Mzsrdky/Ly8tCoUSPcuHEDvr6+1u4OmQn3s+Mwxb4WBAH5+fmoX7++iXtHRNo4VDCrOJOXptQBRY8ePQKgOSXB3d0d7u7uKs/7+fnxPz4H4evry33tALifHYex+5oDGUSW51B1Zj08PFC7dm0AwM2bN7W2zcnJEYPZRo0amb1vRERERGQ4hwpmAaB58+YAgEuXLqG8vFxjuwsXLoiPw8Ntt54oERERkSNzuGC2S5cuAGQpBMePH9fYbt++feLjzp0767Vsd3d3zJo1S23qAVUv3NeOgfvZcXBfE9kvh6pmAABHjhzBs88+CwCYPHkyvv32W5U2UqkULVu2RFpaGmrWrIm7d+/C1dXV0l0lIiIiIh0cbmS2Y8eO6Nq1KwDgxx9/REpKikqbhQsXirN+TZs2jYEsERERkY1yuJFZADh58iQ6d+6MoqIieHt7Y+bMmejZsyeKioqwfv16fP/99wCAsLAwHDt2TKkKAhERERHZDocMZgHg999/x6hRozTO7hIWFoakpCSEhIRYuGdEREREpC+HDWYB4Nq1a/jyyy+RlJSEmzdvws3NDSEhIXjppZcwdepUeHl5WbuLRERERKSFQwezpnLt2jUsWbIESUlJuHHjBtzd3fHkk08iKioKU6ZMYVBs544dO4Zt27bhwIEDOH/+PO7duwdXV1fUr18fnTt3xoQJE8QqGVQ9ffjhh/jss8/E3/fs2YMePXpYr0NkUtevX8ePP/6IpKQkXLt2Dfn5+ahbty6Cg4PRs2dPREVFoWXLltbuJhFpwGDWSExXqN66deuG/fv362w3ZswY/PDDD3Bzc7NAr8iSTp06hQ4dOijVpWYwW3189dVXiImJESfJUWfatGlYvHix5TpFRAZxqOlsTe3kyZN4+eWXxRvJYmJilG4k++GHH3Dx4kUMHDiQN5LZqdu3bwMA6tevj5deegldu3ZF48aNUVFRgZSUFCxcuBC3bt1CfHw8ysrK8PPPP1u5x2RKUqkUr7/+OsrLyxEQEIC7d+9au0tkQnPnzsXHH38MQDbwMGnSJHTo0AF+fn548OABTp48iU2bNsHJyeEK/xDZF4GqrGvXrgIAwcXFRTh48KDK65999pkAQAAgzJo1y/IdJKMNHDhQ+OWXX4Ty8nK1r9+7d08ICwsT9/O+ffss3EMyp0WLFgkAhGbNmgkxMTHift6zZ4+1u0ZG2rVrl7g/x4wZI5SWlmpsW1JSYsGeEZGh+OdmFR05ckS8/DxhwgQ899xzKm2mT58uToX75ZdfoqyszKJ9JONt3boVUVFRcHZ2Vvt6nTp1sHDhQvH3DRs2WKprZGbXr18XR+2+/fZbppBUI1KpFG+++SYA4Omnn8aPP/6otZ449z2RbWMwW0WJiYni43Hjxqlt4+TkhDFjxgAAHj58iD179liia2RhPXv2FB9fvnzZij0hU5oyZQoKCgowduxYdO/e3drdIRPauXMn0tPTAchu7nNxYcYdkT1jMFtFBw4cAADUqFED7du319hO8T/B5ORks/eLLK+kpER8rGkEl+xLQkICtm7dilq1auHzzz+3dnfIxH799VcAgEQiQWRkpPh8dnY20tPTkZ2dba2uEVEVMJitIvl0tyEhIVr/qm/WrJnKe6h62bdvn/hYnlZC9uvhw4eYNm0aAOA///kP6tSpY+UekakdOnQIABAcHAwfHx/8/PPPaNWqFWrXro2wsDDUrl0bTz31FD7//HOlP1aJyDYxmK2C4uJi3L9/HwDQsGFDrW39/f1Ro0YNAMCNGzfM3jeyLKlUigULFoi/R0VFWbE3ZAoffPABsrKyxBrCVL1IpVJcuHABgCznfdq0aYiOjkZqaqpSu4sXL+L9999Hr1698PDhQyv0lIj0xWC2CvLz88XH3t7eOtvLg9mCggKz9YmsY9GiRThy5AgA4MUXX9SackK2b//+/Vi+fDlcXFzw7bffQiKRWLtLZGK5ubmQSqUAgLNnz2LJkiUICgrCmjVrkJ2djcLCQuzbtw8REREAgIMHD2L8+PHW7DIR6cBgtgqKi4vFx/rc5eru7g4AKCoqMlufyPL27duHGTNmAAACAgKwbNkyK/eIjFFaWorXX38dgiDg3Xff5YxP1ZTi5AjFxcXw8vLCnj17EB0dDX9/f3h6eqJbt27YvXs3nn76aQDApk2bcPjwYWt1mYh0YDBbBR4eHuLj0tJSne3lOVeenp5m6xNZ1rlz5zBs2DCUl5fDw8MDv/76KwICAqzdLTLC/PnzceHCBTRu3BizZs2ydnfITBS/vwFg4sSJeOqpp1TaeXp6Yt68eeLvv/zyi9n7RkRVw2C2ChRn8tIndUA+EqBPSgLZvoyMDPTp0wc5OTlwdnbG+vXr0a1bN2t3i4xw4cIFxMXFAZBNbypPDaLqp/JMjH369NHY9vnnnxdv8D169KhZ+0VEVcfielXg4eGB2rVr48GDB7h586bWtjk5OWIw26hRI0t0j8zo9u3b6N27N27fvg2JRIKffvoJQ4YMsXa3yEiLFi1CaWkpnnjiCRQWFmL9+vUqbRRvENq9ezeysrIAAIMGDWLwa0fc3d1Rt25d3Lt3D4D272UPDw/UqVMHWVlZYnsisj0MZquoefPm2L9/Py5duoTy8nKN5bnkd80CLNtk7+7fv48XXngBV65cASAbwZNPikH2TZ4KdOXKFYwcOVJn+08//VR8nJGRwWDWzrRo0QJ79+4FAFRUVGhtK3+dEysQ2S6mGVRRly5dAMhSCI4fP66xnWIN0s6dO5u9X2Qeubm56Nu3L86fPw8AWLBgAaZMmWLlXhFRVSimBcn/OFUnLy9PLMPYoEEDs/eLiKqGwWwVDR06VHy8YsUKtW2kUini4+MBADVr1lSa9pTsR2FhIQYOHIgTJ04AAGJjY/Hhhx9auVdkSitXroQgCFp/FG8K27Nnj/h8cHCw9TpOVTJ8+HDx8aZNmzS227RpEwRBAAB07drV7P0ioqphMFtFHTt2FL/cfvzxR6SkpKi0WbhwoTjr17Rp0+Dq6mrRPpLxSktLMWzYMHEq4mnTpmHu3LlW7hURGaN169bo378/AGDdunX4888/VdpkZWXho48+AiArwThu3DiL9pGI9MckICN8+eWX6Ny5M4qKitCnTx/MnDkTPXv2RFFREdavX4/vv/8eABAWFobp06dbubdUFSNHjsTOnTsBAL169cKECRNUZgpS5ObmhrCwMEt1j4iqaPHixUhJScHDhw8RGRmJd955BwMGDICnpyeOHDmCuLg48QbfTz/9lGkGRDZMIsivoVCV/P777xg1ahTy8vLUvh4WFoakpCSEhIRYuGdkCobOANWkSRNcvXrVPJ0hq5o9ezbmzJkDQJZm0KNHD+t2iIx24MABjBgxAnfu3FH7ukQiQWxsrNINf0Rkezgya6RBgwbhzJkz+PLLL5GUlISbN2/Czc0NISEheOmllzB16lR4eXlZu5tERFRJly5dcO7cOXz11VdITExERkYGSktLERQUhB49euCtt95C27Ztrd1NItKBI7NEREREZLd4AxgRERER2S0Gs0RERERktxjMEhEREZHdYjBLRERERHaLwSwRERER2S0Gs0RERERktxjMEhEREZHdYjBLRERERHaLwSwRERER2S0Gs0RERERktxjMEhEREZHdYjBLRERERHaLwSwRERER2S0Gs0RERERktxjMEhEREZHd+n/wjL8IxHzRqQAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 500x500 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "adhoc_dimension = 2\n",
    "X_train, y_train, X_test, y_test, adhoc_total = ad_hoc_data(\n",
    "    training_size=20,\n",
    "    test_size=5,\n",
    "    n=adhoc_dimension,\n",
    "    gap=0.3,\n",
    "    plot_data=False,\n",
    "    one_hot=False,\n",
    "    include_sample_total=True,\n",
    ")\n",
    "\n",
    "plt.figure(figsize=(5, 5))\n",
    "plt.ylim(0, 2 * np.pi)\n",
    "plt.xlim(0, 2 * np.pi)\n",
    "plt.imshow(\n",
    "    np.asmatrix(adhoc_total).T,\n",
    "    interpolation=\"nearest\",\n",
    "    origin=\"lower\",\n",
    "    cmap=\"RdBu\",\n",
    "    extent=[0, 2 * np.pi, 0, 2 * np.pi],\n",
    ")\n",
    "\n",
    "plt.scatter(\n",
    "    X_train[np.where(y_train[:] == 0), 0],\n",
    "    X_train[np.where(y_train[:] == 0), 1],\n",
    "    marker=\"s\",\n",
    "    facecolors=\"w\",\n",
    "    edgecolors=\"b\",\n",
    "    label=\"A train\",\n",
    ")\n",
    "plt.scatter(\n",
    "    X_train[np.where(y_train[:] == 1), 0],\n",
    "    X_train[np.where(y_train[:] == 1), 1],\n",
    "    marker=\"o\",\n",
    "    facecolors=\"w\",\n",
    "    edgecolors=\"r\",\n",
    "    label=\"B train\",\n",
    ")\n",
    "plt.scatter(\n",
    "    X_test[np.where(y_test[:] == 0), 0],\n",
    "    X_test[np.where(y_test[:] == 0), 1],\n",
    "    marker=\"s\",\n",
    "    facecolors=\"b\",\n",
    "    edgecolors=\"w\",\n",
    "    label=\"A test\",\n",
    ")\n",
    "plt.scatter(\n",
    "    X_test[np.where(y_test[:] == 1), 0],\n",
    "    X_test[np.where(y_test[:] == 1), 1],\n",
    "    marker=\"o\",\n",
    "    facecolors=\"r\",\n",
    "    edgecolors=\"w\",\n",
    "    label=\"B test\",\n",
    ")\n",
    "\n",
    "plt.legend(bbox_to_anchor=(1.05, 1), loc=\"upper left\", borderaxespad=0.0)\n",
    "plt.title(\"Ad hoc dataset for classification\")\n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "41a439be",
   "metadata": {},
   "source": [
    "### Define the Quantum Feature Map\n",
    "\n",
    "Next, we set up the quantum feature map, which encodes classical data into the quantum state space. Here, we use a `QuantumCircuit` to set up a trainable rotation layer and a `ZZFeatureMap` from `Qiskit` to represent the input data."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "id": "60b58ede",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Figure(454.517x200.667)\n",
      "Trainable parameters: θ, ['θ[0]']\n"
     ]
    }
   ],
   "source": [
    "# Create a rotational layer to train. We will rotate each qubit the same amount.\n",
    "training_params = ParameterVector(\"θ\", 1)\n",
    "fm0 = QuantumCircuit(2)\n",
    "fm0.ry(training_params[0], 0)\n",
    "fm0.ry(training_params[0], 1)\n",
    "\n",
    "# Use ZZFeatureMap to represent input data\n",
    "fm1 = ZZFeatureMap(2)\n",
    "\n",
    "# Create the feature map, composed of our two circuits\n",
    "fm = fm0.compose(fm1)\n",
    "\n",
    "print(circuit_drawer(fm))\n",
    "print(f\"Trainable parameters: {training_params}\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "54ae41ca",
   "metadata": {},
   "source": [
    "### Set Up the Quantum Kernel and Quantum Kernel Trainer\n",
    "\n",
    "To train the quantum kernel, we will use an instance of `TrainableFidelityQuantumKernel` (holds the feature map and its parameters) and `QuantumKernelTrainer` (manages the training process).\n",
    "\n",
    "We will train using the Quantum Kernel Alignment technique by selecting the kernel loss function, `SVCLoss`, as input to the `QuantumKernelTrainer`. Since this is a Qiskit-supported loss, we can use the string, `\"svc_loss\"`; however, note that default settings are used when passing the loss as a string. For custom settings, instantiate explicitly with the desired options, and pass the `KernelLoss` object to the `QuantumKernelTrainer`.\n",
    "\n",
    "We will select SPSA as the optimizer and initialize the trainable parameter with the `initial_point` argument. Note: The length of the list passed as the `initial_point` argument must equal the number of trainable parameters in the feature map."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "id": "a190efef",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Instantiate quantum kernel\n",
    "quant_kernel = TrainableFidelityQuantumKernel(feature_map=fm, training_parameters=training_params)\n",
    "\n",
    "# Set up the optimizer\n",
    "cb_qkt = QKTCallback()\n",
    "spsa_opt = SPSA(maxiter=10, callback=cb_qkt.callback, learning_rate=0.048, perturbation=0.05)\n",
    "\n",
    "# Instantiate a quantum kernel trainer.\n",
    "qkt = QuantumKernelTrainer(\n",
    "    quantum_kernel=quant_kernel, loss=\"svc_loss\", optimizer=spsa_opt, initial_point=[np.pi / 2]\n",
    ")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "b6f4fd48",
   "metadata": {},
   "source": [
    "### Train the Quantum Kernel\n",
    "\n",
    "To train the quantum kernel on the dataset (samples and labels), we call the `fit` method of `QuantumKernelTrainer`.\n",
    "\n",
    "The output of `QuantumKernelTrainer.fit` is a `QuantumKernelTrainerResult` object. The results object contains the following class fields:\n",
    "\n",
    " - `optimal_parameters`: A dictionary containing {parameter: optimal value} pairs\n",
    " - `optimal_point`: The optimal parameter value found in training\n",
    " - `optimal_value`: The value of the loss function at the optimal point\n",
    " - `optimizer_evals`: The number of evaluations performed by the optimizer\n",
    " - `optimizer_time`: The amount of time taken to perform optimization\n",
    " - `quantum_kernel`: A `TrainableKernel` object with optimal values bound to the feature map"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "id": "9d26212c",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{   'optimal_circuit': None,\n",
      "    'optimal_parameters': {ParameterVectorElement(θ[0]): 1.3486188452637782},\n",
      "    'optimal_point': array([1.34861885]),\n",
      "    'optimal_value': 11.789057581694237,\n",
      "    'optimizer_evals': 30,\n",
      "    'optimizer_result': None,\n",
      "    'optimizer_time': None,\n",
      "    'quantum_kernel': <qiskit_machine_learning.kernels.trainable_fidelity_quantum_kernel.TrainableFidelityQuantumKernel object at 0x7fb0ea2a1ab0>}\n"
     ]
    }
   ],
   "source": [
    "# Train the kernel using QKT directly\n",
    "qka_results = qkt.fit(X_train, y_train)\n",
    "optimized_kernel = qka_results.quantum_kernel\n",
    "print(qka_results)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "5455be3c",
   "metadata": {},
   "source": [
    "### Fit and Test the Model\n",
    "\n",
    "We can pass the trained quantum kernel to a machine learning model, then fit the model and test on new data. Here, we will use Qiskit's `QSVC` for classification."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 54,
   "id": "e716655f",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "accuracy test: 1.0\n"
     ]
    }
   ],
   "source": [
    "# Use QSVC for classification\n",
    "qsvc = QSVC(quantum_kernel=optimized_kernel)\n",
    "\n",
    "# Fit the QSVC\n",
    "qsvc.fit(X_train, y_train)\n",
    "\n",
    "# Predict the labels\n",
    "labels_test = qsvc.predict(X_test)\n",
    "\n",
    "# Evalaute the test accuracy\n",
    "accuracy_test = metrics.balanced_accuracy_score(y_true=y_test, y_pred=labels_test)\n",
    "print(f\"accuracy test: {accuracy_test}\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "9cd4cbf2",
   "metadata": {},
   "source": [
    "### Visualize the Kernel Training Process\n",
    "\n",
    "From the callback data, we can plot how the loss evolves during the training process. We see it converges rapidly and reaches high test accuracy on this dataset with our choice of inputs.\n",
    "\n",
    "We can also display the final kernel matrix, which is a measure of similarity between the training samples."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 55,
   "id": "0cb85c46",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAABOcAAAHMCAYAAACeMczjAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/P9b71AAAACXBIWXMAAA9hAAAPYQGoP6dpAADGPUlEQVR4nOzdd3xN9/8H8NfNHjIaqZUQMWL8UETSkJCYLULEavjaVVqr2qI1G7WqSgelSIlNKUGMRpUsM2LvIEZCIkZiZOf+/oh7e6/cez8Hl5vE6/l43Mfj5J7X+ZzPTa5I3vkMmVwul4OIiIiIiIiIiIjeOCNDd4CIiIiIiIiIiOhtxeIcERERERERERGRgbA4R0REREREREREZCAszhERERERERERERkIi3NEREREREREREQGwuIcERERERERERGRgbA4R0REREREREREZCAszhERERERERERERkIi3NEREREREREREQGwuIcERERERERERGRgbA4R0RERERE9Bpdv34dX331FWrXrg1ra2s4ODjAw8MDc+bMwdOnTw3dPSIiMjCZXC6XG7oTREREREREpdH27dvRp08fZGRkaDzv5uaGHTt2oEaNGm+4Z0REVFywOEdERERERPQaHD9+HN7e3sjMzESZMmUwfvx4tGzZEpmZmVi/fj2WLl0KoLBAFxcXBxsbGwP3mIiIDIHFOSIiIiIiotegRYsWiI6OhomJCaKiotC0aVO183PmzMG4ceMAAN9++y2Cg4MN0EsiIjI0Fueo1CsoKEBycjJsbGwgk8kM3R0iIiIivZLL5Xj06BEqVaoEIyMuKV1cHDlyBO+//z4AYOjQofj999+LZAoKClCvXj2cP38e9vb2SE1NhampqaT2+TMuEVHxJ/X/aJM32Ccig0hOTkblypUN3Q0iIiKi1+rmzZtwdnY2dDfombCwMOXxwIEDNWaMjIzQr18/jB8/Hg8fPsS+ffvQrl07Se3zZ1wiopJD9H80i3NU6inW7rh58yZsbW0N3BsiIiIi/crIyEDlypW5XlkxExMTAwCwtraGu7u71pyvr6/yODY2VnJxTvkzLgBdP+HWqpAubEvKXhQ7jpYTZn77NlWYGR4RIL5Z48biDABs3SrOaBix+Dz7dp7CzEPz8uJ7JSSIMzduCCO5bv8nbkcCUxPxJLkqLuJRl7Vqie+1p8rHwsyOrn8I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RPSCWJwjKsGMjIzQvHlzAJzaSkRERERERFQSsThHVMIpprZGRUUZuCdERERERERE9KJYnCMq4RTFuejoaOTn5xu4N0RERERERET0IlicIyrh3nvvPdja2iIjIwMnT540dHeIiIiIiIiI6AWwOEdUwhkbG8PHxwcA150jIiIiIiIiKmlMDN0BInp1vr6+2LlzJyIjI/HFF18YujtERERE9IZUcZFBJpNpPZ85eKS4EX9/YaR8iw+EmYgI8a127RJnyuZMEocANJbwd+nUVHHm5oGbwoyLTz1hxs3tgDCTL74V5iQECjP1xN2B7I5cmJFD+3tH6c59YWTyvHeEmaws8a06dxZnAKBuXXGmcmVxZvr0WsLM48fidpydxZlBg8SZtDRxpkEDcWblSnHm0iVxpqBAnKlZU5yxtRVnpOa6dRNnJHxLw88/izNSPo/lyuk+n50tbgPgyDmiUkF13bkCKd9BiYiIiIiIiKhYYHGOqBRo3LgxrK2tcf/+fZw9e9bQ3SEiIiIiIiIiiVicIyoFTE1N4e3tDYDrzhERERERERGVJCzOEZUSiqmtLM4RERERERERlRwszhGVEi1atAAAREVFQS4XL/5KRERERERERIbH4hxRKeHh4QELCwukpqbiwoULhu4OEREREREREUnA4hxRKWFubo6mTZsCKBw9R0RERERERETFH4tzRKUI150jIiIiIiIiKllMDN0BItIf1eKcXC6HTCYzcI+IiIiI6HWqVQsw0fVbXUKCsI10rw+EmTJlxH2JjhZnqlQRZ3S+HhWHDokz330nznwxr7IwI6Xfly6JMzEx4kzv3uJMdHi6MGNezk7c0J374oyDgzDyu6N4zes7d8S3GjxYnAGAZs3EmYgIcaZhQ3EmI0OcqV1bnBk1SpxJTBRnNm0SZ6T02c9PnOnTR5xZtkyc6dxZnAGAevXEmcBAcSYtTZzx8hJnpLw/fHx0n8/IAObMEbfDkXNEpcj7778PMzMzJCcn48qVK4buDhEREREREREJvNGRcykpKQgPD0daWhpcXV3h7+8PKyurN9kFolLN0tISnp6eiImJQWRkJGrUqGHoLhERERERERGRDnobOXf+/Hn07NkTH330ER4+fFjk/LZt21C9enUMGTIEEyZMQK9evVCnTh2cOHFCX10gIvw3tZWbQhAREREREREVf3orzoWFhWHTpk1I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boW5uTm2bduGcePGGbpLRERERERERC+FxbliQC6XY/Xq1QAKp4J2795da/bTTz9VXjNz5kyNmd9++w33799Xy6sqU6YMAOgs7gGFu78qnJOyYIEGx48fV96nTh3x3PiJEyfCxcUF5ubmeOedd9CoUSPlRgBEqry8vJRTtOfNm4ffpS5QQURERERERFSMsDhXDERFRSExMREAEBgYCBsbG63Ztm3bYuLEiQCA2bNno1u3bti8eTPi4uKwfft2fPzxxxg1ahQAoH///hg4cGCRNhRFskePHiE+XvtCmqqj5VJSUjROkRVRLSD27NlTmD9w4ABu3LiBnJwcPHz4ECdOnMDPP/+MOnXqIDg4WG13XaKPPvoI06dPB1C41uLff/9t4B4RERERERERvZgSvVtraaE6pbV///7C/PTp0+Hn54eZM2di8+bN2Lx5s9r5Ro0aYeLEiejWrZvG6zt37ox169YBACZNmoTw8HAYGanXadPS0jB37ly15x49eoSyZctKek1A4Tp1ik0g3N3d0bVrV63ZihUromvXrvDx8UG1atVgYmKCGzduIDw8HCtXrkRubi6mTp2KnJwcrSMGFbKzs5Gdna38WDRCkEq2CRMm4PLly1ixYgV69uyJ2NhY7vhLREREREREJQZHzhlYVlaWsoDl5OSE1hL2ck5OTsby5cs17sQKAKdOnUJoaKjWqag9evTAe++9BwDYtWsXOnbsiEOHDiErKwsZGRnYunUrvL29kZycDDOVPaEzMzMlv67z588rR+1ZWlpi1apVkMk0b7Hs4eGB69evY8GCBQgKCoKnpycaN26MLl26ICQkBDExMbCzswMAfP/99zh58qTOe8+aNQt2dnbKR2Up+8dTiSWTybBkyRL4+voiIyMD/v7+SElJMXS3iIiIiIiIiCRhcc7AwsLClCO7+vTpU2QE2/POnz8PT09PrF27FtbW1li4cCFu3ryJnJwc3LlzBytXroSTkxPCw8PRtGlTREZGFmnD2NgYW7ZsQY0aNQAAu3fvRtOmTWFpaQk7Ozt06dIFly5dwqeffqos4gHQOd1WVXJyMjp06IBHjx5BJpNh2bJlOtebs7a2hqmpqdbznp6eWLBgAYDCtfYUx9qMHz8e6enpysfNmzcl9ZtKLjMzM/z111+oWbMmrl+/joCAgBcqJhMREREREREZCqe1GpjUXVpVM0lJ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PgUFWqwr66l0EKDdjtRwFZ1Cfr6OXjNt/qhJtfHfn5L/o4UqJDExUQAgABB8fX1L3U5AQIDYTmRkpM7yU+X9998X13X16lXJ+A4dOggABDMzM+HatWsqY5KTkwU7OzsBgODg4CDk5uaqjMvMzBTmzp0rNGzYUMwBgNCiRQshODhYEARBaNasmQBAMDQ0FORyudLyinW0bNlSMu+WLVsKAIT69esrPX/9+nVxvVOnTtXYRlpamhj70UcfSa5T4e7du0rbxwcffPDBBx988FEVH3fv3tX68xFVfvyMywcffPBReR5S/6PZc06PHjx4gIiICABA+/bt0aJFC43xf/31F86fPw8AGDlypDiww6vs7e0xffp0zJs3D8nJyTh48CC8vLyKxVlZWWHRokVYtGgR0tPTkZGRAWtra/G+coWFhUhMTATwchAJmUymtLyjoyMePHigNKiDOooBHF69xLRBgwbitFQ7RQeBKMmlqg4ODrh79y5q1apVbBuo5LKysuDk5IS7d++Ko/BS5cTXsmrh61l18LWsOsrrtRQEAU+fPoWDg0OZrYMqHlWfcfn3o3xwP5cf7uvywf1cdrT9H83inB799ttvKPxvv2ZtBoK4fv26ON2uXTuNse3btxenb9y4obI4V5SNjQ1sbGyUnrty5Yp4KWmnTp2KLdOiRQtcuHABT548QWpqKurXr6+y7ZSUFPFyi1cLirVq1RL/CNy4cUNjjkXnqytMqmJgYKDViLJUMpaWlvzDXUXwtaxa+HpWHXwtq47yeC2trKzKtH2qeDR9xuXfj/LB/Vx+uK/LB/dz2dDmfzQHhNAjxSitNWrUwPDhwyXjjYz+V0stkLiw+8WL/12rX3S5kti9e7c4/eGHHxab361bN3H6+PHjatspOq9r165q27l58yZSU1NL3Q4RERERERERUWXD4pyexMXF4a+//gIAfPDBB8V6rani4uIiTkdFRWmMLVrIKrqcttLS0vD9998DAFxdXdGnT59iMQMHDhQHsNiyZYvatoKDgwG8/HZv4MCBxeYPGjSoWOyrsrOzsWvXLgAve+y5urpqsxlERERERERERBUai3M64uHhAZlMBplMhqSkJMn4rVu3itOjR4/Wah1vvfWWeI+2f//73zhy5IjKuNjYWKxfvx4AYGZmhp49exaLSU5OVruex48fY+DAgXjy5AkAYN26dSrv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CYtzREREREREREREesLiHBERERERERERkZ6wOEdERERERERERKQnLM4RERERERERERHpCYtzREREREREREREesLiHBERERERERERkZ6wOEdERERERERERKQnLM4RERERERERERHpCYtzREREeubs7AyZTIYxY8boOxUiIiIiIipnLM4REVGZOHbsGGQyGWQyGRYsWKDvdIiIiIiIiCokFueIiKjcJSUliYW74OBgfadTJjw8PCCTyeDh4aHvVIiIiIiIqAIz0ncCRERE1V1SUpK+UyAiIiIiIj1hzzkiIiIiIiIiIiI9YXGOiIiIiIiIiIhIT1icIyKiciWTyeDi4iL+PnbsWPH+c1IDSMTGxmLSpElo2rQpLCwsYG5ujqZNm2Ly5MmIj49Xu87g4GCx7aSkJOTl5SEoKAhdunSBjY1NsXXm5+dj//79mDZtGjp27Ig6deqgRo0asLa2RufOnbFgwQKkp6erXNeYMWMgk8lw/PhxAMDx48eLbZ+zs7PSMtqO1rp//34MGTIEjo6OMDExgbW1Nd5++218++23ePbsmdbbL5fLsWHDBrzzzjuoU6cOzM3N0aZNGyxevBjZ2dkac7hw4QLGjRsHV1dXmJubw9TUFE5OTmjfvj2mTp2Kffv2QRAEjW0QEREREdH/8J5zRERU4cnlcsyePRtBQUHFCj/x8fGIj4/Hxo0b8cMPP2DChAka20pPT4e3tzcuXbqkNmbChAnYunVrseczMjIQExODmJgYfP/99wgLC0PXrl1LtU0lkZubixEjRmDv3r3F8omOjkZ0dDTWrl2L8PBwuLm5aWwrOzsbffv2xZEjR5Sej4uLQ1xcHPbt24ejR4/C3Ny82LKrVq3C7NmzIZfLlZ6/d+8e7t27h9jYWPz44494+vQpLCwsSrexRERERETVDItzRERUruLi4pCcnIx+/foBABYtWgQvLy+lGFtbW6Xfp0+fjh9//BEA8O6772LMmDFo3LgxzMzM8NdffyEoKAhXr17FxIkTUb9+fQwcOFDt+seNG4e4uDiMHj0aH374IerXr49//vkHJiYmYkxBQQEaN24Mb29vdOrUCQ0bNoSRkRHu3LmDw4cPY/PmzXj06BG8vb1x5coVpXwXL16M2bNnY+zYsTh//jw6dOiALVu2KOVgbGxcon3m6+srFubatm2LWbNmoXnz5sjIyMDOnTsR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\n",
      "text/plain": [
       "<Figure size 1400x500 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plot_data = cb_qkt.get_callback_data()  # callback data\n",
    "K = optimized_kernel.evaluate(X_train)  # kernel matrix evaluated on the training samples\n",
    "\n",
    "plt.rcParams[\"font.size\"] = 20\n",
    "fig, ax = plt.subplots(1, 2, figsize=(14, 5))\n",
    "ax[0].plot([i + 1 for i in range(len(plot_data[0]))], np.array(plot_data[2]), c=\"k\", marker=\"o\")\n",
    "ax[0].set_xlabel(\"Iterations\")\n",
    "ax[0].set_ylabel(\"Loss\")\n",
    "ax[1].imshow(K, cmap=matplotlib.colormaps[\"bwr\"])\n",
    "fig.tight_layout()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 56,
   "id": "aa6e50bc",
   "metadata": {
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<h3>Version Information</h3><table><tr><th>Software</th><th>Version</th></tr><tr><td><code>qiskit</code></td><td>0.44.1</td></tr><tr><td><code>qiskit-terra</code></td><td>0.25.1</td></tr><tr><td><code>qiskit_machine_learning</code></td><td>0.6.1</td></tr><tr><th colspan='2'>System information</th></tr><tr><td>Python version</td><td>3.10.8</td></tr><tr><td>Python compiler</td><td>GCC 10.4.0</td></tr><tr><td>Python build</td><td>main, Nov 22 2022 08:26:04</td></tr><tr><td>OS</td><td>Linux</td></tr><tr><td>CPUs</td><td>8</td></tr><tr><td>Memory (Gb)</td><td>31.142807006835938</td></tr><tr><td colspan='2'>Wed Oct 04 04:10:36 2023 UTC</td></tr></table>"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<div style='width: 100%; background-color:#d5d9e0;padding-left: 10px; padding-bottom: 10px; padding-right: 10px; padding-top: 5px'><h3>This code is a part of Qiskit</h3><p>&copy; Copyright IBM 2017, 2023.</p><p>This code is licensed under the Apache License, Version 2.0. You may<br>obtain a copy of this license in the LICENSE.txt file in the root directory<br> of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.<p>Any modifications or derivative works of this code must retain this<br>copyright notice, and modified files need to carry a notice indicating<br>that they have been altered from the originals.</p></div>"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import qiskit.tools.jupyter\n",
    "\n",
    "%qiskit_version_table\n",
    "%qiskit_copyright"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.10.8"
  },
  "rise": {
   "height": "90%",
   "scroll": true,
   "start_slideshow_at": "beginning",
   "theme": "white",
   "transition": "zoom",
   "width": "90%"
  },
  "widgets": {
   "application/vnd.jupyter.widget-state+json": {
    "state": {
     "08863b3a6e2746339153ad1c24620546": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "2.0.0",
      "model_name": "LayoutModel",
      "state": {
       "width": "190px"
      }
     },
     "0f1a8697e56f4615866c6a6085ed5708": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "2.0.0",
      "model_name": "LayoutModel",
      "state": {
       "width": "70px"
      }
     },
     "1da8868e80f64743a687c3fe8e64ce5b": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "HTMLModel",
      "state": {
       "layout": "IPY_MODEL_aa9f55d3891f49e6ba482a91f1a5c9be",
       "style": "IPY_MODEL_1fbf67aef3d84b988a7295211159f7f0",
       "value": "<h5>Message</h5>"
      }
     },
     "1fbf67aef3d84b988a7295211159f7f0": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "HTMLStyleModel",
      "state": {
       "description_width": "",
       "font_size": null,
       "text_color": null
      }
     },
     "55954a009a8640919d61e1e589ca5178": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "2.0.0",
      "model_name": "LayoutModel",
      "state": {
       "grid_template_areas": "\n                                       \". . . . right \"\n                                        ",
       "grid_template_columns": "20% 20% 20% 20% 20%",
       "width": "100%"
      }
     },
     "5afa2aaef37341cf99f2a0527e42094c": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "HTMLModel",
      "state": {
       "layout": "IPY_MODEL_c76075f8615e49b3a5fa03606d82fc46",
       "style": "IPY_MODEL_c3ebcee872f743cf86e0ee7093176cbd",
       "value": "<h5>Backend</h5>"
      }
     },
     "70761a6fd04147fc8a2b7777dc81e28c": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "HTMLModel",
      "state": {
       "layout": "IPY_MODEL_b8f722ba76074f04b298d0cf34807871",
       "style": "IPY_MODEL_f4820fee44904b9f93a43a4a0f5ae026",
       "value": "<h5>Status</h5>"
      }
     },
     "71bb88929b424ad9bfb660ea8f381c0f": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "ButtonModel",
      "state": {
       "button_style": "primary",
       "description": "Clear",
       "layout": "IPY_MODEL_bdc38e6ee0f149798c20da4cab1cb619",
       "style": "IPY_MODEL_c01c809b19c44cd487dbef25abcac5e3",
       "tooltip": null
      }
     },
     "7528d0845876473cb69cf1ec9636e32a": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "2.0.0",
      "model_name": "LayoutModel",
      "state": {
       "margin": "0px 0px 10px 0px"
      }
     },
     "90a18c86665746b3ab0ba7d4eb64c0a9": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "HBoxModel",
      "state": {
       "children": [
        "IPY_MODEL_be2e3da589d444d9a200191f1274f88d",
        "IPY_MODEL_5afa2aaef37341cf99f2a0527e42094c",
        "IPY_MODEL_70761a6fd04147fc8a2b7777dc81e28c",
        "IPY_MODEL_a9402be4e6a34a7f932b20db73fe569c",
        "IPY_MODEL_1da8868e80f64743a687c3fe8e64ce5b"
       ],
       "layout": "IPY_MODEL_a3e62619f644402c95d1b18313a7c03b"
      }
     },
     "a3e62619f644402c95d1b18313a7c03b": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "2.0.0",
      "model_name": "LayoutModel",
      "state": {
       "margin": "0px 0px 0px 37px",
       "width": "600px"
      }
     },
     "a9402be4e6a34a7f932b20db73fe569c": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "HTMLModel",
      "state": {
       "layout": "IPY_MODEL_0f1a8697e56f4615866c6a6085ed5708",
       "style": "IPY_MODEL_cb840b0d68324a72b3aa48c6dfc2e161",
       "value": "<h5>Queue</h5>"
      }
     },
     "aa9f55d3891f49e6ba482a91f1a5c9be": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "2.0.0",
      "model_name": "LayoutModel",
      "state": {}
     },
     "b8f722ba76074f04b298d0cf34807871": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "2.0.0",
      "model_name": "LayoutModel",
      "state": {
       "width": "95px"
      }
     },
     "bd41dc86a10b490890ea30d725c902a3": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "HTMLModel",
      "state": {
       "layout": "IPY_MODEL_7528d0845876473cb69cf1ec9636e32a",
       "style": "IPY_MODEL_fae9e72eeda64455864ed15b11810c98",
       "value": "<p style='font-family: IBM Plex Sans, Arial, Helvetica, sans-serif; font-size: 20px; font-weight: medium;'>Circuit Properties</p>"
      }
     },
     "bdc38e6ee0f149798c20da4cab1cb619": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "2.0.0",
      "model_name": "LayoutModel",
      "state": {
       "grid_area": "right",
       "padding": "0px 0px 0px 0px",
       "width": "70px"
      }
     },
     "be2e3da589d444d9a200191f1274f88d": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "HTMLModel",
      "state": {
       "layout": "IPY_MODEL_08863b3a6e2746339153ad1c24620546",
       "style": "IPY_MODEL_f5e7be08ad8e44e18a0cc6c11e2b2be4",
       "value": "<h5>Job ID</h5>"
      }
     },
     "c01c809b19c44cd487dbef25abcac5e3": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "ButtonStyleModel",
      "state": {
       "font_family": null,
       "font_size": null,
       "font_style": null,
       "font_variant": null,
       "font_weight": null,
       "text_color": null,
       "text_decoration": null
      }
     },
     "c3ebcee872f743cf86e0ee7093176cbd": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "HTMLStyleModel",
      "state": {
       "description_width": "",
       "font_size": null,
       "text_color": null
      }
     },
     "c76075f8615e49b3a5fa03606d82fc46": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "2.0.0",
      "model_name": "LayoutModel",
      "state": {
       "width": "145px"
      }
     },
     "cb840b0d68324a72b3aa48c6dfc2e161": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "HTMLStyleModel",
      "state": {
       "description_width": "",
       "font_size": null,
       "text_color": null
      }
     },
     "dd1c3ad261f54e45a9d8d38160abfe38": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "GridBoxModel",
      "state": {
       "children": [
        "IPY_MODEL_71bb88929b424ad9bfb660ea8f381c0f"
       ],
       "layout": "IPY_MODEL_55954a009a8640919d61e1e589ca5178"
      }
     },
     "f4820fee44904b9f93a43a4a0f5ae026": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "HTMLStyleModel",
      "state": {
       "description_width": "",
       "font_size": null,
       "text_color": null
      }
     },
     "f5e7be08ad8e44e18a0cc6c11e2b2be4": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "HTMLStyleModel",
      "state": {
       "description_width": "",
       "font_size": null,
       "text_color": null
      }
     },
     "fae9e72eeda64455864ed15b11810c98": {
      "model_module": "@jupyter-widgets/controls",
      "model_module_version": "2.0.0",
      "model_name": "HTMLStyleModel",
      "state": {
       "description_width": "",
       "font_size": null,
       "text_color": null
      }
     }
    },
    "version_major": 2,
    "version_minor": 0
   }
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}